编程语言
首页 > 编程语言> > 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","墨剑"); 
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 加密后的结果为:ea796af15c74e90faeba49576fa7984b 
crypt加密后的结果为:墨ylCzgTtYXPs 
base64_encode加密后的结果为:xKu9ow== 
base64_decode解密后的结果为:墨剑 
urlencode加密后的结果为:%C4%AB%BD%A3 
urldecode解密后的结果为:墨剑 






注:加号处理:str_replace('+', '%2b', base64_encode(serialize($string)));

标签:urlencode,加密,string,base64,解密,str,PHP
来源: https://blog.51cto.com/libinblog/2977162