我正在用JAVA创建一个符合HIPPA的web应用程序,为此我将使用
BCryptPasswordEncoder().encode("12345678");我的问题是:
1:由上述代码生成的哈希是否使用AES算法加密?
2:由上述代码生成的哈希是否由最小256位密钥加密?
发布于 2015-05-04 11:29:12
BCrypt不使用AES。它使用的是河豚,它是AES的兄弟/前身。
密码哈希从原始输入中创建一个巨大的数字。BCrypt可以防止以下类型的攻击:
通常,像AES和河豚这样的对称编解码器不适合哈希密码(因为您知道密钥时可以解码输出)。BCrypt通过使用密码初始化编解码器,然后编码一个已知的消息(OrpheanBeholderScryDoubt)来创建一个192位的“哈希值”来解决这个问题。
输入最大为72字节,但大多数实现只使用其中的56字节。用于加密已知消息的密钥为448位,并由初始密钥+ salt +密码构建。结果是成本,后面是128位盐分和192“散列”。
相关信息:
https://stackoverflow.com/questions/30028499
复制相似问题