如何在java中使用自己的密码和aes

时间:2012-02-23 19:43:58

标签: java file encryption aes

如何在java中使用自己的自定义密钥(密码)和aes?我想使用一个文件作为密码加密另一个文件我知道你通常使用SecretKeyGenerator但我想使用我自己的密钥/密码。我读过有关使用SALT的内容,但我无法找到一个例子,有人会告诉我一些代码来加密/解密,或者只是从正常的aes加密代替什么行

2 个答案:

答案 0 :(得分:1)

您只需要创建一个SecretKeySpec实例:

SecretKey key = new SecretKeySpec(bytesOfTheKey, "AES");

确保传递具有适当字节数的字节数组(AES-128为16)

答案 1 :(得分:0)

使用new SecretKeySpec(byte[], "AES") - 这可以直接用作SecretKey类型的"AES"。如果文件具有足够的熵,您可能希望在文件上生成SHA-256哈希,并将其用作SecretKeySpec构造函数的第一个参数。如果另一个文件缺少熵,那么您可能希望在文件上使用SHA-256作为基于密码的加密的输入。

如果文件彼此相邻,那么你当然最多也会完成默默无闻。要使用的密码和对密文的其他完整性检查的使用取决于您的使用案例。