【问题标题】:Error NoSuchAlgorithmException while running-hmac运行时出现错误 NoSuchAlgorithmException-hmac
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-23
      相关资源
      最近更新 更多