🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# PHP crypt() 函数 ## 定义和用法 crypt() 函数返回使用 DES、Blowfish 或 MD5 加密的字符串。 在不同的操作系统上,本函数的行为不同,某些操作系统支持一种以上的算法类型。在安装时,PHP 会检查什么算法可用以及使用什么算法。 ### 语法 ``` crypt(str,salt) ``` | 参数 | 描述 | | --- | --- | | str | 必需。规定要编码的字符串。 | | salt | 可选。用于增加被编码字符数目的字符串,以使编码更加安全。如果未提供 salt 参数,则每次调用该函数时会随机生成一个。 | ### 说明 确切的算法依赖于 salt 参数的格式和长度。 下面是与 crypt() 函数一起使用的一些常量。在安装时,由 PHP 设置这些常量: * [CRYPT_SALT_LENGTH] * [CRYPT_STD_DES] * [CRYPT_EXT_DES] * [CRYPT_MD5] * [CRYPT_BLOWFISH] ## 提示和注释 提示:解密函数是没有的。crypt() 函数使用一种单向算法。 ## 例子 在本例中,我们将测试不同的算法: ``` <?php if (CRYPT_STD_DES == 1) { echo "Standard DES: ".crypt("hello world")."\n<br />"; } else { echo "Standard DES not supported.\n<br />"; } if (CRYPT_EXT_DES == 1) { echo "Extended DES: ".crypt("hello world")."\n<br />"; } else { echo "Extended DES not supported.\n<br />"; } if (CRYPT_MD5 == 1) { echo "MD5: ".crypt("hello world")."\n<br />"; } else { echo "MD5 not supported.\n<br />"; } if (CRYPT_BLOWFISH == 1) { echo "Blowfish: ".crypt("hello world"); } else { echo "Blowfish DES not supported."; } ?> ``` 输出类似(依赖于操作系统): ``` Standard DES: $1$r35.Y52.$iyiFuvM.zFGsscpU0aZ4e. Extended DES not supported. MD5: $1$BN1.0I2.$8oBI/4mufxK6Tq89M12mk/ Blowfish DES not supported. ```