md5_crypt()
作用:根据给定的字符串生成一个随机的 MD5
哈希密码。
语法: string md5_crypt(string $str)
参数:
$str
设置字符串
返回值:
- 加密后的哈希值
说明:
该函数生成的哈希值是随机并且不可逆转的,也就是说下一次加密相同字符串时获取的哈希值与当前加密获取的哈希值是不相同的。这个函数与 Linux
系统中的 grub-md5-crypt
命令(某些系统中为 openssl passwd -1
)的作用是相同的,同样,ModPHP
也使用这个函数来加密用户密码。
md5_crypt()
与 md5()
的区别在于,后者的密文是固定不变的,而前者的密文是随机变换的,后者的密文只有一个,而前者的密文有无数个。熟悉 md5
的人很容易看出来 d41d8cd98f00b204e9800998ecf8427e
就是空字符串,而 $1$d3qFGmCv$lNfmKxRJ2saqmWnuSrEQg0
则看不出来它是什么。
该函数在内部使用 crypt()
函数产生密码,除了 MD5
,crypt()
函数还支持其他的加密算法,更过关于这个函数的信息,请查看 http://php.net/manual/zh/function.crypt.php 。
示例:
<?php
echo md5_crypt('12345')."\n";
echo md5_crypt('12345');
/** 此例输出
$1$xcnSBLbt$PFv.6pNlOArvMMIg5KY70.
$1$vRIASWEi$5n1PnAU9sbxofdqyy9j5e.
*/