• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP crypt()函数的用法讲解

    PHP crypt() 函数

    定义和用法

    crypt() 函数返回使用 DES、Blowfish 或 MD5 算法加密的字符串。

    在不同的操作系统上,该函数的行为不同,某些操作系统支持一种以上的算法类型。在安装时,PHP 会检查什么算法可用以及使用什么算法。

    确切的算法依赖于 salt 参数的格式和长度。salt 可以通过增加由一个特定字符串与一个特定的加密方法生成的字符串的数量来使得加密更安全。

    这里有一些和 crypt() 函数一起使用的常量。这些常量值是在安装时由 PHP 设置的。

    常量:

    在该函数支持多种算法的系统上,上面的常量如果支持则设置为 "1",否则设置为 "0"。

    注释: 没有相应的解密函数。crypt() 函数使用一种单向算法。

    语法

    crypt( _str,salt_ )

    实例 1

    ?php $hashed_password = crypt('mypassword'); // 自动生成盐值 /* 你应当使用 crypt()
    得到的完整结果作为盐值进行密码校验,以此来避免使用不同散列算法导致的问题。(如上所述,基于标准 DES 算法的密码散列使用 2 字符盐值,但是基于 MD5
    算法的散列使用 12 个字符盐值。)*/ if (hash_equals($hashed_password, crypt($user_input,
    $hashed_password))) { echo "Password verified!"; } ?>

    实例 2

    利用 htpasswd 进行 crypt() 加密:

    ?php // 设置密码 $password = 'mypassword'; // 获取散列值,使用自动盐值 $hash =
    crypt($password); ?>

    实例 1

    在本实例中,我们以不同散列类型使用:

    ?php if (CRYPT_STD_DES == 1) { echo 'Standard DES: ' . crypt('rasmuslerdorf',
    'rl') . "\n"; } if (CRYPT_EXT_DES == 1) { echo 'Extended DES: ' .
    crypt('rasmuslerdorf', '_J9..rasm') . "\n"; } if (CRYPT_MD5 == 1) { echo 'MD5:
    ' . crypt('rasmuslerdorf', '$1$rasmusle$') . "\n"; } if (CRYPT_BLOWFISH == 1)
    { echo 'Blowfish: ' . crypt('rasmuslerdorf',
    '$2a$07$usesomesillystringforsalt$') . "\n"; } if (CRYPT_SHA256 == 1) { echo
    'SHA-256: ' . crypt('rasmuslerdorf',
    '$5$rounds=5000$usesomesillystringforsalt$') . "\n"; } if (CRYPT_SHA512 == 1)
    { echo 'SHA-512: ' . crypt('rasmuslerdorf',
    '$6$rounds=5000$usesomesillystringforsalt$') . "\n"; } ?>

    上面的代码输出如下(取决于操作系统):

    Standard DES: rl.3StKT.4T8M
    Extended DES: _J9..rasmBYk8r9AiWNc
    MD5:          $1$rasmusle$rISCgZzpwk3UhDidwXvin0
    Blowfish:     $2a$07$usesomesillystringfore2uDLvp1Ii2e./U9C8sBjqp8I90dH6hi
    SHA-256:      $5$rounds=5000$usesomesillystri$KqJWpanXZHKq2BOB43TSaYhEWsQ1Lr5QNyPCDH/Tp.6
    SHA-512:      $6$rounds=5000$usesomesillystri$D4IrlXatmP7rx3P3InaxBeoomnAihCKRVQP22JZ6EY47Wc6BkroIuUUBOov1i.S5KPgErtP/EN5mcO.ChWQW21

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

    您可能感兴趣的文章:
    • PHP hex2bin()函数用法讲解
    • PHP hebrev()函数用法讲解
    • PHP get_html_translation_table()函数用法讲解
    • PHP fprintf()函数用法讲解
    • PHP explode()函数用法讲解
    • php二维数组按某个键值排序的实例讲解
    • php curl简单采集图片生成base64编码(并附curl函数参数说明)
    • phpinfo无法显示的原因及解决办法
    • PHP crc32()函数讲解
    • PHP html_entity_decode()函数讲解
    上一篇:phpinfo无法显示的原因及解决办法
    下一篇:PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP crypt()函数的用法讲解 PHP,crypt,函数,的,用法,讲解,