【发布时间】:2016-01-08 17:07:00
【问题描述】:
我需要 SHA-256 作为 AES-256 的密钥。 但我的示例 SHA-256 是:
MessageDigest messageDigest;
messageDigest = MessageDigest.getInstance("SHA-256");
String input = new String("ALIBABA");
messageDigest.update(input.getBytes(Charset.forName("UTF-8")));
byte[] hash = messageDigest.digest();
String hash1s = new String(hash,StandardCharsets.UTF_8);
System.out.println("HASH 1 is "+hash1s);
System.out.println("HASH 1 is "+hash);
String input2 = new String("ALIBABA");
messageDigest.update(input2.getBytes(Charset.forName("UTF-8")));
byte[] hash2 = messageDigest.digest();
String hash2s = new String(hash2,StandardCharsets.UTF_8);
System.out.println("HASH 2 is "+hash2s);
System.out.println("HASH 2 is "+hash2);
返回不一样的值byte[]:
HASH 1 是 V%��%�P�9�P��v�/�/e\BF}�$]
哈希 1 是 [B@629f0666
HASH 2 是 V%��%�P�9�P��v�/�/e\BF}�$]
哈希 2 是 [B@1bc6a36e
如何让相同的 byte[] 成为 AES-256 的密钥?
【问题讨论】: