代码之家  ›  专栏  ›  技术社区  ›  harry4912

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

  •  2
  • harry4912  · 技术社区  · 7 年前

    当使用BCRYPT函数为PHP时,它会生成**,当然这是意料之中的。但是,它也会添加不需要的字符,例如“”(点)进行哈希运算时,这也是意料之中的。

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

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

    $passHash = password_hash($email, PASSWORD_BCRYPT);  
    

    让我知道。

    提前谢谢。

    1 回复  |  直到 7 年前
        1
  •  -1
  •   Funk Forty Niner    7 年前

    鉴于这是出于验证目的,可以使用以下内容:

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

    这个 password_hash() 当然,函数确实创建了一个唯一的字符串,但它并不像您现在所做的那样,是为进行验证而设计的。

    我也经常使用这种方法:

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

    这将在使用时创建更长更精确的令牌 microtime() .

    免责声明: 这是用于随机令牌生成,与密码哈希无关。