使用BCRYPT的PHP哈希添加了不需要的字符

时间:2018-02-16 21:49:57

标签: php hash bcrypt

当使用BCRYPT函数是PHP时,它产生**,当然这是预期的。但是,它还会在散列时添加不需要的字符,例如“。”(DOTS),这也是预期的。

我想知道是否有一个哈希函数可以在PHP中使用,它不会创建一个点在其中的哈希,或者如果我能以某种方式告诉哈希函数不创建带点的哈希。

我正在使用这个创建一个唯一的链接密钥哈希。

$passHash = password_hash($email, PASSWORD_BCRYPT);  

让我知道。

提前致谢。

1 个答案:

答案 0 :(得分:1)

看到这是出于验证目的,使用以下内容足以使用:

$code=substr(md5(mt_rand()),0,15);

password_hash()函数确实创建了一个唯一的字符串,但它并没有像您现在所做的那样进行验证。

还有我不时使用的这种方法:

$token = substr(hash('sha512', mt_rand() . microtime()), 0, 50);

在使用microtime()时会创建更长,更精确的令牌。

免责声明: 这适用于随机令牌生成,与密码散列无关。