PHP常见加密函数用法示例【crypt与md5】
本文实例讲述了php常见加密函数用法。分享给大家供大家参考,具体如下:
1.crypt()函数
crypt()
函数用于返回使用des、blowfish或md5算法加密过后的字符串,crypt(str,salt)接受2个参数,第1个为需要加密的字符串,第2个为盐值(加密干扰值,如果没有提供,则默认由php自动生成),返回的字符串为散列的字符串或者是一个少于13个字符的字符串;
<?php //使用crypt()函数进行加密 $password = 'jb51.net'; //没有提供盐值 echo "加密前:".$password; echo "加密后(无盐值):".crypt($password); echo "<hr>"; //提供盐值 $salt = "good"; echo "加密后(有盐值):".crypt($password,$salt); ?>
加密的字符串为“jb51.net”:
第一次:
刷新后:
总结:通过刷新前与刷新后可以发现,crypt()
函数如果没有盐值加密后的字符串的第2个$与第3个$之间的字符串的8个字符串是由php自动生成的,每刷新一次就变一次;crypt()
函数如果定义了盐值后,只会截取盐值的前2位添加在加密后的字符串前且加密后的字符串是不变的。
注意:crypt()
函数是一种单向算法,没有相应的解密函数。php添加盐值默认使用des加密,如果salt这个字符串以$1$开头,以$结尾则是md5加密,只会截取盐值的前八位添加在加密后的字符串前。
2.md5()函数
md5函数格式:md5(string)
,返回一个32位的字符串,且md5加密对于大小写敏感;md5加密主要应用在校验网站用户密码上,用户注册时的密码经过md5计算后存入数据库,当用户登录时,再把用户输入的密码经过md5计算后与数据库中经过md5加密的字符串进行比较。
<?php //使用md5()函数进行加密 $password = 'jb51.net'; echo "加密前:".$password; echo "<hr>"; echo "md5加密后:".md5($password); ?>
结果如下:
ps:关于加密解密感兴趣的朋友还可以参考本站在线工具:
文字在线加密解密工具(包含aes、des、rc4等):
md5在线加密工具:
http://tools.jb51.net/password/createmd5password
在线散列/哈希算法加密工具:
在线md5/hash/sha-1/sha-2/sha-256/sha-512/sha-3/ripemd-160加密工具:
在线sha1/sha224/sha256/sha384/sha512加密工具:
更多关于php相关内容感兴趣的读者可查看本站专题:《php加密方法总结》、《php编码与转码操作技巧汇总》、《php数学运算技巧总结》、《php数组(array)操作技巧大全》、《php字符串(string)用法总结》、《php数据结构与算法教程》、《php程序设计算法总结》及《php正则表达式用法总结》
希望本文所述对大家php程序设计有所帮助。