php 自带加密、解密函数
php 自带的加密函数
不可逆的加密函数为:md5()、crypt()
md5() 用来计算 MD5 哈稀。语法为:string md5(string str);
crypt() 将字符串用 UNIX 的标准加密 DES 模块加密。这是单向的加密函数,无法解密。欲比对字符串,将已加密的字符串的头二个字符放在 salt 的参数中,再比对加密后的字符串。语法为:string crypt(string str, string [salt]);
可逆转的加密为:base64_encode()、urlencode() 相对应的解密函数:base64_decode() 、urldecode()
base64_encode() 将字符串以 MIME BASE64 编码。此编码方式可以让中文字或者图片也能在网络上顺利传输。语法为string base64_encode(string data); 它的解密函数为:string base64_decode(string
encoded_data); 将复回原样。
urlencode() 将字符串以 URL 编码。例如空格就会变成加号。语法为:string urlencode(string str);
它的解密函数为:string urldecode(string str); 将复回原样
案例代码:
<?php define('str','moqiang02@sina.com'); echo 'md5 加密后的结果为:'.md5(str).'<br>';//md5 加密 echo 'crypt加密后的结果为:'.crypt(str,str).'<br>';// crypt加密 $base64encode=base64_encode(str);// base64_encode() 加密 echo 'base64_encode加密后的结果为:'.$base64encode.'<br>'; echo 'base64_decode解密后的结果为:'.base64_decode($base64encode).'<br>'; //base64_decode()解密 $urlencode=urlencode(str); //urlencode() 加密 echo 'urlencode加密后的结果为:'.$urlencode.'<br>'; echo 'urldecode解密后的结果为:'.urldecode($urlencode).'<br>';//urldecode() 解密 ?>
输出:
md5 加密后的结果为:0c4cf10f2e489a6e6482db13dfafaab8
crypt加密后的结果为:moMaPvME.49dQ
base64_encode加密后的结果为:bW9xaWFuZzAyQHNpbmEuY29t
base64_decode解密后的结果为:moqiang02@sina.com
urlencode加密后的结果为:moqiang02%40sina.com
urldecode解密后的结果为:moqiang02@sina.com