string md5 ( string source [, bool raw_output])
尽管推荐用sha1()
来进行数据散列算法,但另一种算法MD5也很流行。MD是消息摘要“Message Digest”的缩写。md5()
产生数据散列的方式同sha1()
相同,只是md5()
返回的结果只有32个字节。因为sha1()
的位数更长,所以相对来说不容易发生“碰撞”——一种两个不同的字符串得到同样的哈希值的情况。
md5()
的用法也和sha1()
一样:
<?php
$md5hash = md5("My string");
print $md5hash;
?>
如果你认为MD5的位数少,所以更不安全的话,你是对的——但这仅仅是理论上的结果。MD5的哈希值有32字节长,相当于128位,也就是说,一串MD5哈希值有3.4028236692093846346337460743177e+38种不同的可能,也就是2的128次方。这个数已经足够大了,所以可以放心使用。