什么';这是检查字符串是否为bcrypt哈希的最简单、最快捷的方法


What's the easiest and quickest way to check if a string is a bcrypt hash?

我正在编写一个单元测试,该测试指出用户密码应该使用bcrypt进行哈希处理。为了断言这一点,我需要能够检查字符串是否看起来像bcrypt哈希。

我找不到一个函数告诉我字符串使用了什么哈希算法,除了正则表达式之外,还有其他方法吗?

@JimL soution有点限制,有一个问题是分解bcrypt哈希的结构。

$2a$[Cost]$[Base64Salt][Base64Hash]

因此,根据您的应用程序,您可以断言bcrypt标识符$2a和生成的哈希的所需成本。

请参阅:https://stackoverflow.com/a/10933491/1722719以进行全面分解。