Ошибка NoSuchAlgorithmException при запуске -hmac - PullRequest
0 голосов
/ 03 апреля 2019

Я пробовал hmac на Java, и как новичок я не могу решить ошибку

Ошибка после запуска в NetBeans:

Key: MTzkWlyhZxfLMv84wgr + я + 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));

    }

}

Спасибо,

1 Ответ

0 голосов
/ 03 апреля 2019

Вам нужно поймать NoSuchAlgorithmException.Большинство IDE указывают на это напрямую.Просто добавьте try и catch исключение NoSuchAlgorithmException.Это будет работать нормально.

...