当使用BCRYPT函数是PHP时,它产生**,当然这是预期的。但是,它还会在散列时添加不需要的字符,例如“。”(DOTS),这也是预期的。
我想知道是否有一个哈希函数可以在PHP中使用,它不会创建一个点在其中的哈希,或者如果我能以某种方式告诉哈希函数不创建带点的哈希。
我正在使用这个创建一个唯一的链接密钥哈希。
$passHash = password_hash($email, PASSWORD_BCRYPT);
让我知道。
提前致谢。
答案 0 :(得分:1)
看到这是出于验证目的,使用以下内容足以使用:
$code=substr(md5(mt_rand()),0,15);
password_hash()
函数确实创建了一个唯一的字符串,但它并没有像您现在所做的那样进行验证。
还有我不时使用的这种方法:
$token = substr(hash('sha512', mt_rand() . microtime()), 0, 50);
在使用microtime()
时会创建更长,更精确的令牌。
免责声明: 这适用于随机令牌生成,与密码散列无关。