本文说明了PHP中常见加密函数的用法。分享给大家参考,如下:
1.1.crypt()函数
函数crypt()用于返回由DES、Blowfish或MD5算法加密的字符串。crypt(str,salt)接受两个参数,第一个是要加密的字符串,第二个是salt值(如果没有提供,默认会由PHP自动生成),返回的字符串是哈希字符串或少于13个字符的字符串。
?Php//使用crypt()函数加密$ password=' jb51.net//无盐值回声'加密前: '。提供了$ passwordEcho“加密(无盐值):”。crypt($密码);echo ' hr//提供盐值$ salt=' goodEcho“加密(含盐值):”。crypt($密码,$盐);加密的字符串是“jb51.net”:
第一次:
刷新后:
总结:刷新前后可以发现,如果crypt()函数没有salt值加密后第二个$和第三个$之间的字符串,那么这八个字符串是由PHP自动生成的,每次刷新都会改变一次;如果crypt()函数定义了salt值,它只截取salt值的前两位数字,并将其加到加密字符串前面,加密字符串不变。
注意:crypt()函数是单向算法,没有对应的解密函数。在PHP中添加盐值默认使用DES加密。如果salt以$1$开头,以$结尾,那就是MD5加密。只有salt值的前八位被截取并添加到加密字符串之前。
2.md5()函数
md5函数格式:MD5(字符串),返回32位字符串,MD5加密区分大小写;MD5加密主要用于验证网站用户密码。用户注册时,密码经过MD5计算后存储在数据库中。用户登录时,用户输入的密码经过MD5计算后与数据库中的MD5加密字符串进行比较。
?Php//使用md5()函数加密$ password=' jb51.net回显“加密前:”。$ passwordecho ' hrecho 'MD5加密后的' : ' . MD5($ password);结果如下:
PS:对加解密感兴趣的朋友也可以参考本网站的在线工具:
文本在线加解密工具(包括AES、DES、RC4等。)http://tools.jb51.net/password/txt_encode
MD5在线加密工具:http://tools.jb51.net/password/CreateMD5Password
在线哈希/哈希算法加密工具:http://tools.jb51.net/password/hash_encrypt
在线MD5/哈希/sha-1/sha-2/sha-256/sha-512/sha-3/ripemd-160加密工具:http://tools.jb51.net/password/hash_md5_sha
在线sha1/sha 224/sha 256/sha 384/sha 512加密工具:http://tools.jb51.net/password/sha_encode
更多对PHP相关内容感兴趣的读者可以查看本网站的话题:《php加密方法总结》、《PHP编码与转码操作技巧汇总》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》、0103010。
希望本文对PHP编程有所帮助。