crypt()
函数返回使用
DES
、
Blowfish
或
MD5
算法加密的字符串。在不同的操作系统上,该函数的行为不同,某些操作系统支持一种以上的算法类型。在安装时,
PHP
会检查什么算法可用以及使用什么算法。确切的算法依赖于
$salt
参数的格式和长度。
$salt
可以通过增加由一个特定字符串与一个特定的加密方法生成的字符串的数量来使得加密更安全。本文带大家来一起看一看
PHP
中的crypt()函数。
语法:
crypt ( string $str , string $salt = ? ) : string
$str:规定要编码的字符串。
$salt:用于增加被编码字符数目的字符串,以使编码更加安全。如果未提供 salt 参数,则每次调用该函数时会随机生成一个。
立即学习
“
PHP免费学习笔记(深入)
”;
返回值:返回加密字符串,如果失败则返回一个小于 13 个字符并保证不同于$ salt 的字符串。
代码实例:
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
1.Standard DES:
if (CRYPT_STD_DES == 1) {
echo 'Standard DES: ' . crypt('rasmuslerdorf', 'rl') ;
}
//Standard DES: rl.3StKT.4T8M
2.Extended DES:
if (CRYPT_EXT_DES == 1) {
echo 'Extended DES: ' . crypt('rasmuslerdorf', '_J9..rasm') ;
}
//Extended DES: _J9..rasmBYk8r9AiWNc
3.MD5:
if (CRYPT_MD5 == 1) {
echo 'MD5: ' . crypt('rasmuslerdorf', '$1$rasmusle$') ;
}
//MD5: $1$rasmusle$rISCgZzpwk3UhDidwXvin0
4.Blowfish:
if (CRYPT_BLOWFISH == 1) {
echo 'Blowfish: ' . crypt('rasmuslerdorf', '$2a$07$usesomesillystringforsalt$') ;
}
//Blowfish: $2a$07$usesomesillystringfore2uDLvp1Ii2e./U9C8sBjqp8I90dH6hi
5.SHA-256:
if (CRYPT_SHA256 == 1) {
echo 'SHA-256: ' . crypt('rasmuslerdorf', '$5$rounds=5000$usesomesillystringforsalt$');
}
//SHA-256: $5$rounds=5000$usesomesillystri$KqJWpanXZHKq2BOB43TSaYhEWsQ1Lr5QNyPCDH/Tp.6
6.SHA-512:
if (CRYPT_SHA512 == 1) {
echo 'SHA-512: ' . crypt('rasmuslerdorf', '$6$rounds=5000$usesomesillystringforsalt$');
}
//SHA-512: $6$rounds=5000$usesomesillystri$D4IrlXatmP7rx3P3InaxBeoomnAihCKRVQP22JZ6EY47Wc6BkroIuUUBOov1i.S5KPgErtP/EN5mcO.ChWQW21
推荐:
《
2021年PHP面试题大汇总(收藏)
》《
php视频教程
》