PHP加密和解密函数可以用来加密一些有用的字符串存放在数据库里,并且通过可逆解密字符串,该函数使用了base64和MD5加密和解密。
代码如下:
function encryptDecrypt($key, $string, $decrypt){
if($decrypt){
$decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), "12");
return $decrypted;
}else{
$encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));
return $encrypted;
}
}
使用方法如下:
//以下是将字符串“Helloweba欢迎您”分别加密和解密
//加密:
echo encryptDecrypt('password', 'Helloweba欢迎您',0);
//解密:
echo encryptDecrypt('password', 'z0JAx4qMwcF+db5TNbp/xwdUM84snRsXvvpXuaCa4Bk=',1);
文中出现的所有函数:
下面的示例利用 LTrim, RTrim, 和 Trim 函数分别用来除去字符串开始的空格、尾部空格、 开始和尾部空格:Dim MyVar
MyVar = LTrim(" vbscript "),MyVar 包含 "vbscript "。
MyVar = RTrim(" vbscript "),MyVar 包含 " vbscript"。
MyVar = Trim(" vbscript "),MyVar 包含 "vbscript"。
ltrim(string);用做去字符串开始的空格
rtrim(string);用做去字符串尾部的空格
trim(string);用做去字符串开始和尾部的空格
mcrypt_decrypt 和 MD5(不可逆)是PHP加密的函数
base64_decode:
将 BASE64 编码字符串解码。
语法: string base64_decode(string encoded_data);
返回值: 字符串
函数种类: 编码处理
内容说明:本函数将以 MIME BASE64 编码字符串解码。解码后的字符串可能为中文字符串或其它的二进位资料。
mcrypt_encrypt:
将字符串以 BASE64 编码。
语法: string base64_encode(string data);
返回值: 字符串
函数种类: 编码处理
内容说明:本函数将字符串以 MIME BASE64 编码。此编码方式可以让中文字或者图片也能在网络上顺利传输。在 BASE64 编码后的字符串只包含英文字母大小写、阿拉伯数字、加号与反斜线,共 64 个基本字符,不包含其它特殊的字符,因而才取名 BASE64。编码后的字符串比原来的字符串长度再加 1/3 左右。更多的 BASE64 编码信息可以参考 RFC2045 文件之 6.8 节。