运行-hmac时出现NoSuchAlgorithmException错误

问题描述 投票:0回答:1

我在Java中尝试hmac,作为一个新手,我无法解决错误

在NetBeans中运行后出错:

重点:MTzkWlyhZxfLMv84wgr + I + pFNI0 =

线程“main”中的异常java.lang.RuntimeException:无法编译的源代码

-unreported exception 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
1个回答
0
投票

你需要抓住NoSuchAlgorithmException。大多数IDE直接指出它。只需添加trycatch例外NoSuchAlgorithmException。这样可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.