当我尝试运行此代码时,它会打印两个不同的哈希码,为什么会这样做?如何正确生成编码的aes密钥?
代码:
KeyGenerator keyGen = KeyGenerator.getInstance("AES");
keyGen.init(256);
byte[] encoded1 = keyGen.generateKey().getEncoded();
SecretKeySpec spec = new SecretKeySpec(encoded1, "AES");
byte[] encoded2 = spec.getEncoded();
for( short s = 0; s < encoded1.length; s++) {
if(encoded1[s] == encoded2[s]) {
System.out.println("ERROR: different keys");
break;
}
}
输出:ERROR: different keys
现在我使用SecureRandom来生成SecretKeySpec所需的字节,但我想知道我做错了什么