首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >BCrypt是否使用AES 448位加密?

BCrypt是否使用AES 448位加密?
EN

Stack Overflow用户
提问于 2015-05-04 11:03:09
回答 1查看 4.8K关注 0票数 2

我正在用JAVA创建一个符合HIPPA的web应用程序,为此我将使用

代码语言:javascript
运行
复制
BCryptPasswordEncoder().encode("12345678");

我的问题是:

1:由上述代码生成的哈希是否使用AES算法加密?

2:由上述代码生成的哈希是否由最小256位密钥加密?

EN

回答 1

Stack Overflow用户

发布于 2015-05-04 11:29:12

BCrypt不使用AES。它使用的是河豚,它是AES的兄弟/前身。

密码哈希从原始输入中创建一个巨大的数字。BCrypt可以防止以下类型的攻击:

  • 无法从散列中猜测或计算原始密码
  • 哈希单个密码是昂贵的,以防止暴力密码猜测攻击,其中攻击者只是试图创建相同的哈希通过算法随机输入。
  • 编码相同的密码两次会产生不同的散列(即盐渍),以防止彩虹表的攻击。

通常,像AES和河豚这样的对称编解码器不适合哈希密码(因为您知道密钥时可以解码输出)。BCrypt通过使用密码初始化编解码器,然后编码一个已知的消息(OrpheanBeholderScryDoubt)来创建一个192位的“哈希值”来解决这个问题。

输入最大为72字节,但大多数实现只使用其中的56字节。用于加密已知消息的密钥为448位,并由初始密钥+ salt +密码构建。结果是成本,后面是128位盐分和192“散列”。

相关信息:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30028499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档