php加密解密实用类共享
通过用户注册密码一般不会保存在明文的,所以我们要加上一个秘密第一。当然最简单的是调用MD5函数来加密数据库中的SQL语句的用户密码。一类加密和解密了。如果你想找他原来的密码或者她当用户忘记密码,然后这个类是一个很好的工具。当然,这个加密解密类也可用于其他用途。复制代码代码如下所示:
< PHP
类地穴{
私人$ SKEY;
Public function __construct ($key) {
美元-> SKEY =哈希(MD5
}
公共功能safe_b64encode($string){
$data = base64_encode($字符串);
$data = str_replace(array(+和/,=),数组(-,'_ '、'),为数据);
返回$数据;
}
公共功能safe_b64decode($string){
$data = str_replace(阵列(-,'_ '),阵列(+),为字符串);
mod4美元= strlen($data)% 4;
如果($ mod4){
美元在数据(' = = = = =,mod4美元);
}
返回base64_decode($数据);
}
公共函数编码($){
如果(!$值){
返回false;
}
$文本= $值;
iv_size美元= mcrypt_get_iv_size(mcrypt_rijndael_256,mcrypt_mode_ecb);
四美元= mcrypt_create_iv(iv_size美元,mcrypt_rand);
crypttext = mcrypt_encrypt(mcrypt_rijndael_256美元,美元-> SKEY,为文本,mcrypt_mode_ecb,四美元);
返回装饰(美元-> safe_b64encode($ crypttext));
}
公共函数解码($值){
如果(!$值){
返回false;
}
crypttext美元=美元-> safe_b64decode(价值);
iv_size美元= mcrypt_get_iv_size(mcrypt_rijndael_256,mcrypt_mode_ecb);
四美元= mcrypt_create_iv(iv_size美元,mcrypt_rand);
decrypttext = mcrypt_decrypt(mcrypt_rijndael_256美元,美元-> SKEY,crypttext美元,美元mcrypt_mode_ecb,IV);
返回装饰($ decrypttext);
}
}