【发布时间】:2019-04-03 06:51:39
【问题描述】:
我在 Java 中尝试使用 hmac,作为新手,我无法解决错误
在 NetBeans 中运行后出错:
密钥:MTzkWlyhZxfLMv84wgr+i+pFNI0=
线程“main”java.lang.RuntimeException 中的异常:无法编译的源代码
- 未报告的异常 java.security.NoSuchAlgorithmException;必须抓到
或宣布被抛出
在 hmac.HMAC.main(HMAC.java:27)
Java 结果:1
我的代码
package HMAC;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.security.SecureRandom;
import sun.misc.*;
/**
*
* @author Best
*/
public class HMAC {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
SecureRandom random = new SecureRandom();
byte[] keyBytes = new byte[20];
random.nextBytes(keyBytes);
SecretKeySpec key = new SecretKeySpec(keyBytes, "HMACSHA1");
System.out.println("Key:"+new BASE64Encoder().encode(key.getEncoded()));
Mac mac = Mac.getInstance("HmacSHA1");
mac.init(key);
mac.update("hello".getBytes("UTF8"));
byte[] result = mac.doFinal();
System.out.println("MAC: "+new BASE64Encoder().encode(result));
}
}
谢谢你
【问题讨论】:
标签: java netbeans-8 hmac