php使用openssl进行Rsa长数据加密(117)解密(128)
2016-06-29 08:53
751 查看
PHP使用openssl进行Rsa加密,如果要加密的明文太长则会出错,解决方法:加密的时候117个字符加密一次,然后把所有的密文拼接成一个密文;解密的时候需要128个字符解密一下,然后拼接成数据。
加密:
解密:
Author:
本文地址:http://blog.csdn.net/leedaning/article/details/51780511
加密:
/** * 加密 * @param $originalData * @return string|void */ /*function encrypt($originalData){ // if (openssl_private_encrypt($originalData, $encryptData, $this->rsaPrivateKey)) { if (openssl_public_encrypt($originalData, $encryptData, $this->rsaPublicKey)) { return base64_encode($encryptData); } else { return false; } }*/ function encrypt($originalData){ $crypto = ''; foreach (str_split($originalData, 117) as $chunk) { openssl_public_encrypt($chunk, $encryptData, $this->rsaPublicKey); $crypto .= $encryptData; } return base64_encode($crypto); }
解密:
/** * 私钥解密 * @param $encryptData */ /*function decrypt($encryptData){ // if (openssl_public_decrypt(base64_decode($encryptData), $decryptData, $this->rsaPublicKey)) { if (openssl_private_decrypt(base64_decode($encryptData), $decryptData, $this->rsaPrivateKey)) { return $decryptData; } else { return false; } }*/ function decrypt($encryptData){ $crypto = ''; foreach (str_split(base64_decode($encryptData), 128) as $chunk) { openssl_private_decrypt($chunk, $decryptData, $this->rsaPrivateKey); $crypto .= $decryptData; } return $crypto; }
Author:
leedaning
本文地址:http://blog.csdn.net/leedaning/article/details/51780511
相关文章推荐
- PHP之:析构函数
- PHP开发异步高性能的MySQL代理服务器
- PHP几个防SQL注入攻击自带函数区别
- php加密技术
- TELNET与FTP(TFTP)配置
- [php入门] 1、从安装开发环境环境到(庄B)做个炫酷的登陆应用
- php连接数据库出错
- php-fpm配置文件详解
- 浅谈PHP值mysql操作类
- thinkphp框架实现删除和批量删除
- thinkphp框架实现数据添加和显示功能
- php mysqli查询语句返回值类型实例分析
- php简单解析mysqli查询结果的方法(2种方法)
- php结合mysql与mysqli扩展处理事务的方法
- ThinkPHP实现更新数据实例详解(demo)
- Thinkphp批量更新数据的方法汇总
- php菜单无限分类
- ThinkPHP 去掉UTF-8的BOM头
- vsftp 多用户不同访问权限配置
- yii2权限控制rbac之rule详细讲解