PHP crypt 字符串函数

  • 定义和用法

    crypt函数返回单向字符串散列
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
  • 语法

    crypt ( string $str [, string $salt ]  )
  • 参数

    参数 必需的 描述
    str 待散列的字符串。
    salt 可选的盐值字符串。如果没有提供,算法行为将由不同的算法实现决定,并可能导致不可预料的结束。
  • 返回值

    返回散列后的字符串或一个少于 13 字符的字符串,从而保证在失败时与盐值区分开来。
    注意 当校验密码时,应该使用一个不容易被时间攻击的字符串比较函数来比较crypt()的输出与之前已知的哈希。出于这个目的,PHP5.6开始提供了hash_equals()函数。
    提示password_hash()使用了一个强的哈希算法,来产生足够强的盐值,并且会自动进行合适的轮次。password_hash()crypt()的一个简单封装,并且完全与现有的密码哈希兼容。推荐使用password_hash()
  • 示例

    <?php
    // 设置密码
    $password = 'mypassword';
    
    // 获取散列值,使用自动盐值 // php>=5.6会有notice错误
    $hash = crypt($password);
    
    var_dump($hash);
    ?>
    
    尝试一下
  • 相关函数

    password_hash() - 创建密码的散列
    hash_equals() - 可防止时序攻击的字符串比较
    官方参考:》》》》》