我正在尝试使用空键初始化Mac实例。但是它失败并显示“ InvalidKeyException”。 以下是使用Oracle Java的代码段,但是使用IBM J9却给出了例外。 。有人可以帮我解决问题吗?
import java.security.InvalidKeyException; 导入java.security.NoSuchAlgorithmException;
导入javax.crypto.Mac; 导入javax.crypto.spec.SecretKeySpec;
公共类TestHM {
public static void main(String[] args) throws NoSuchAlgorithmException, InvalidKeyException {
String alg = "HmacSHA256";
Mac m = Mac.getInstance(alg);
SecretKeySpec secretKey = new SecretKeySpec(new byte[] {0}, 1, 0, alg);
m.init(secretKey);
System.out.println("End");
}
} 当前输出:线程“主”中的异常java.security.InvalidKeyException:com.ibm.crypto.provider.HmacSHA256.engineInit(未知源)处的密钥数据缺失,javax.crypto.Mac.a(javax.crypto处)的未知数据.Mac.init(未知源)位于TestHM.main(TestHM.java:18)
Java版本:java -version Java版本“ 1.8.0” Java(TM)SE运行时环境(内部版本pap6480sr3fp10-20160720_02(SR3fp10))IBM J9 VM(内部版本2.8,JRE 1.8.0 AIX ppc64-64压缩参考20160719_312156 (已启用JIT,已启用AOT)J9VM-基于Oracle jd-b的JCL-20160719k8