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

Joh*_*ean 7 php hash phpunit bcrypt

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

我找不到一个函数来告诉我在字符串上使用了什么散列算法,除了正则表达式之类的方法之外,还有其他方法可以做到吗?

inp*_*put 7

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

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

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

有关完整细分,请参阅:https : //stackoverflow.com/a/10933491/1722719。