【发布时间】:2014-02-24 11:46:21
【问题描述】:
如果我使用自己的密钥,为什么需要散列?我发现到处都是如下图所示
key = myKey.getBytes("UTF-8");
sha = MessageDigest.getInstance("SHA-1");
key = sha.digest(key);
key = Arrays.copyOf(key, 16);
secretKey = new SecretKeySpec(key, "AES");
有人可以解释一下这里散列的好处是什么吗?
【问题讨论】:
-
这只是一种从较大的密钥中获取 16 字节密钥的可靠且安全的方式。
-
key不能是正确选择的密钥,因为您使用 UTF-8 对其进行编码。
标签: java encryption aes encryption-symmetric