我正在编写一个单元测试,说明应该使用bcrypt对用户密码进行哈希处理。为了断言这一点,我需要能够检查一个字符串是否看起来像一个bcrypt哈希。
我找不到一个函数来告诉我在字符串上使用了什么哈希算法,除了像正则表达式这样的东西之外还有其他的方法吗?
答案 0 :(得分:2)
@JimL灵魂有点限制,有一个问题打破了bcrypt哈希的结构。
$2a$[Cost]$[Base64Salt][Base64Hash]
因此,根据您的应用程序,您可以断言bcrypt标识符$2a
以及生成的哈希值的需求成本。
请参阅:https://stackoverflow.com/a/10933491/1722719了解完整细分。