JAVA hmac-sha256 库错误
JAVA hmac-sha256 library error
我需要一个 hmac-sha256 编码 2 个字符串的函数。我找到了这段代码,但我的 eclipse 编译器一直说 "Hex cannot be resolved".
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 cannot be resolved"。
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)。
我的问题是如何修复这些错误代码?
将 Apache Commons Codec 放入您的 class 路径并修复您的 import
语句以包含其中的正确 classes。
我需要一个 hmac-sha256 编码 2 个字符串的函数。我找到了这段代码,但我的 eclipse 编译器一直说 "Hex cannot be resolved".
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 cannot be resolved"。
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)。 我的问题是如何修复这些错误代码?
将 Apache Commons Codec 放入您的 class 路径并修复您的 import
语句以包含其中的正确 classes。