php加密函数和解密函数,原字符串输出
来源:互联网 发布:易语言在线播放器源码 编辑:程序博客网 时间:2024/05/16 16:01
/*
*功能:对字符串进行加密处理
*参数一:需要加密的内容
*参数二:密钥
$prep_code = serialize($data);
$block = mcrypt_get_block_size('des', 'ecb');
if (($pad = $block - (strlen($prep_code) % $block)) < $block) {
$prep_code .= str_repeat(chr($pad), $pad);
}
$encrypt = mcrypt_encrypt(MCRYPT_DES, $key, $prep_code, MCRYPT_MODE_ECB);
return base64_encode($encrypt);
}
/*
*功能:对字符串进行解密处理
*参数一:需要解密的密文
*参数二:密钥
*/
function decrypt($str, $key) {
$str = base64_decode($str);
$str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
$block = mcrypt_get_block_size('des', 'ecb');
$pad = ord($str[($len = strlen($str)) - 1]);
if ($pad && $pad < $block && preg_match('/' . chr($pad) . '{' . $pad . '}$/', $str)) {
$str = substr($str, 0, strlen($str) - $pad);
}
return unserialize($str);
*功能:对字符串进行加密处理
*参数一:需要加密的内容
*参数二:密钥
*/
$key可以写到config里面。假如$key='baidu';而我们需要加密存在cookie里面的字符串是$data='xiaoming';(当然$data可以是数组)。
function encrypt($data, $key) {$prep_code = serialize($data);
$block = mcrypt_get_block_size('des', 'ecb');
if (($pad = $block - (strlen($prep_code) % $block)) < $block) {
$prep_code .= str_repeat(chr($pad), $pad);
}
$encrypt = mcrypt_encrypt(MCRYPT_DES, $key, $prep_code, MCRYPT_MODE_ECB);
return base64_encode($encrypt);
}
/*
*功能:对字符串进行解密处理
*参数一:需要解密的密文
*参数二:密钥
*/
function decrypt($str, $key) {
$str = base64_decode($str);
$str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
$block = mcrypt_get_block_size('des', 'ecb');
$pad = ord($str[($len = strlen($str)) - 1]);
if ($pad && $pad < $block && preg_match('/' . chr($pad) . '{' . $pad . '}$/', $str)) {
$str = substr($str, 0, strlen($str) - $pad);
}
return unserialize($str);
}
此处return的就是加密函数输入的$data变量,即xiaoming
阅读全文
0 0
- php加密函数和解密函数,原字符串输出
- VC对密码加密和解密函数
- C#实现AES加密和解密函数
- C#实现AES加密和解密函数
- VC对密码加密和解密函数
- Discuz中的PHP字符串加密函数
- PHP的加密解密字符串函数
- 很赞的PHP字符串加密函数
- PHP的加密解密字符串函数
- php压缩和解压缩字符串的方法
- 用递归实现厄密函数
- PHP中的字符串格式化输出函数和字符串比较函数
- php:strrev() --字符串顺序倒过来输出的涵数
- 原字符转换成加密字符串
- 加密字符串换成原字符转
- php对字符串加密解密常用的几个内置函数
- PHP字符串加密解密函数(带时效限制)
- php 解码 javascript 的escape函数加密的字符串
- Spring集成Mybatis
- 完成端口 IOCP
- C++类定义对构造和析构的调用的区别
- NIO 使用的简单例子
- 微信公众测试号使用Java Spring MVC,接口配置token验证。
- php加密函数和解密函数,原字符串输出
- 有关极光推送的列子
- nagular1的summernote的使用总结
- C#期末大作业 消消乐
- 最方便的自定义带点击效果的圆角背景按钮
- 【Spring之旅】Spring学习常见问题汇总
- PHP 多进程和多线程的优缺点
- 两数组的交
- 可提醒 IO