【发布时间】:2017-02-23 08:32:36
【问题描述】:
在我使用Laravel 5.1 的项目中,除了哈希默认类,我还使用我的库来哈希密码。那么如何检查字符串是否被Laravel Hash 散列?
示例:
$2y$10$ug8B6Pxs546eQBNICxsEOOH3NgpXjOIo.g4rf1FPZk2xJncWcFUpu
【问题讨论】:
-
可能try-catch解密,如果失败,不是吗?
-
这个库做了哪种加密?它是像另一种散列函数一样的单向加密还是可解密的双向加密?如果它是另一种单向加密,我猜你不走运。如果它是可解密的,您可以尝试解密所有哈希值,看看是否有异常。给出异常的很可能是默认的 Laravel 哈希
-
@Martins.A - 请参阅
hash_password,这是这些天的标准。 -
@ArtisticPhoenix 不错,不知道 BCRYPT 算法始终具有 $2y$ id 的特性。猜猜OP很幸运,除非第二个算法相同并且也有id!
-
是的,我不确定它是否一定是 bcrypt 或 hash_password 函数的一部分。它可以是密码函数的算法标识符。我不知道。但是哈希通常是单向加密,并且总是相同的长度,例如 md5 是 32,sha1 是 40,sha256 是 60。通常只需测试长度就足够了。
标签: php regex laravel laravel-5 bcrypt