hmac-sha256이 2 개의 문자열을 인코딩하는 기능이 필요합니다. 이 코드 블록을 찾았지만 Eclipse 컴파일러는 "16 진수를 해결할 수 없다"고 계속 말합니다.JAVA hmac-sha256 라이브러리 오류
public static String encode(String key, String data) throws Exception {
Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
SecretKeySpec secret_key = new SecretKeySpec(key.getBytes("UTF-8"), "HmacSHA256");
sha256_HMAC.init(secret_key);
return Hex.encodeHexString(sha256_HMAC.doFinal(data.getBytes("UTF-8")));
}
나는 또한 이것을 시도 : "Base64를 확인할 수 없습니다"오류가 발생했습니다.
public static String encode(String key, String data) throws Exception {
Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
SecretKeySpec secret_key = new SecretKeySpec(key.getBytes("UTF-8"), "HmacSHA256");
sha256_HMAC.init(secret_key);
return Base64.encodeBase64String(sha256_HMAC.doFinal(data.getBytes("UTF-8")));
}
내 수입은 다음과 같습니다
import java.security.MessageDigest;
import java.util.Random;
import java.lang.Object;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import javax.xml.bind.DatatypeConverter;
와 나는 JRE 시스템 라이브러리 (JavaSE-1.7)를 사용하고 있습니다. 제 질문은 어떻게 이러한 오류 코드를 수정합니까?
Java 1.7이 (가) 지원이 중단되었습니다. 안전한 코드를 작성하려면 1.8을 사용하십시오. –