/*** RSA公钥加密* @param string $string 待加解密数据* @return string 返回加密内容*/public function rsa_public_encode($string){try{$rsa_public = '';$public_key = "-----BEGIN PUBLIC KEY-----\n" . wordwrap($rsa_public, 64, "\n", true) . "\n-----END PUBLIC KEY-----";$key = openssl_pkey_get_public($public_key);if(!$key){throw new \Exception('公钥不可用');}$result = openssl_public_encrypt($string, $crypted, $key);if(!$result){throw new \Exception('公钥加密失败');}openssl_free_key($key);return base64_encode($crypted);}catch (\Exception $e){$errorMsg = $e->getMessage() ? $e->getMessage() : 'encode error';return '';}}/*** RSA公钥解密* @param string $string 待解密数据* @return string 返回解密内容*/public function rsa_public_decode($string){try{$rsa_public = '';$public_key = "-----BEGIN PUBLIC KEY-----\n" . wordwrap($rsa_public, 64, "\n", true) . "\n-----END PUBLIC KEY-----";$key = openssl_pkey_get_public($public_key);if(!$key){throw new \Exception('公钥不可用');}$result = openssl_public_decrypt(base64_decode($string), $decrypted, $key);openssl_free_key($key);if(!$result){throw new \Exception('公钥解密失败');}return $decrypted;}catch (\Exception $e){$errorMsg = $e->getMessage() ? $e->getMessage() : 'decode error';return '';}}/*** RSA私钥解密* @param string $string 待解密数据* @return string 返回解密内容*/public function rsa_private_decode($string){try{$rsa_private = '';$private_key = "-----BEGIN PRIVATE KEY-----\n" . wordwrap($rsa_private, 64, "\n", true) . "\n-----END PRIVATE KEY-----";$key = openssl_pkey_get_private($private_key);if(!$key){throw new \Exception('私钥不可用');}$result = openssl_private_decrypt(base64_decode($string), $decrypted, $key);if(!$result){throw new \Exception('私钥解密失败');}return $decrypted;}catch (\Exception $e){$errorMsg = $e->getMessage() ? $e->getMessage() : 'decode error';return '';}}

PHP RSA公钥加密解密相关推荐

  1. RSA 公钥加密——私钥解密

    作者:刘巍然-学酥 链接:http://www.zhihu.com/question/25912483/answer/31653639 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业 ...

  2. Java前端Rsa公钥加密,后端Rsa私钥解密(支持字符和中文)

    Base64工具类,可以让rsa编码的乱码变成一串字符序列 package com.utils;import java.io.ByteArrayInputStream; import java.io. ...

  3. ASP VBSCRIPT VBA RSA 公钥加密 私钥解密 私钥签名 公钥验签

    <% '@title: Class_Crypt_Rsa '@author: ekede.com '@date: 2020-10-28 '@description: RSA 公钥加密->私钥 ...

  4. asp版 vbscript RSA公钥加密 / 私钥解密 / 私钥签名 / 公钥验签(支持中文)分段加密解密

    最近有空在把自己的asp站点后端函数全部整理了下,在弄RSA的时候遇到了坑了,然后找到下面这位兄弟刚好发布的文章: https://blog.csdn.net/todaygods/article/de ...

  5. RSA公钥加密与私钥解密算法

    首先是随机生成一个密钥对(一个公钥和一个私钥) package com.zy.demo1.secretTest;import lombok.extern.slf4j.Slf4j; import org ...

  6. 分享一个RSA加解密工具类,公钥加密私钥解密、私钥加密公钥解密、私钥签名公钥验签、生成公钥私钥

    测试: public static void main(String[] args) {try {//生成公钥私钥Map<String, Object> map = RSAUtil.ini ...

  7. iOS端基于RSA公钥加密和解密

    前言 最近在公司项目中被要求使用RSA加密,且要求是全程加解密,期间也是踩了很多的坑,在此做个记录也算给要使用的朋友一点帮助.注意,具体的RSA加密算法内容并不在此文的讨论范围之内.本文更多聚焦于使用 ...

  8. Android RSA公钥加密和私钥解密方法

    一.公钥加密过程 /*** RSA公钥加密** @param str 加密字符串* @param publicKey 公钥* @return 密文* @throws Exception 加密过程中的异 ...

  9. JavaScript实现前端rsa公钥加密,后端Java私钥进行解密

    JavaScript实现前端rsa公钥加密,后端Java私钥进行解密 rsa进行前端js加密,后端java解密时需要注意,由后端先生成一对公私密钥对,然后将公钥传给前端,私钥后端保存,待下次前端请求后 ...

最新文章

  1. 看了这7篇论文,你会完全掌握卷积神经网络!
  2. python3笔记_python3 笔记
  3. SAP UI5 应用开发教程之四十一 - Chrome 扩展 UI5 Inspector 的离线安装和使用方法
  4. Pandas中的 transform() 结合 groupby() 用法示例
  5. 获取 当前日期、当前时间、前一天日期
  6. Mysql 5.7安装部署和基本命令
  7. 服务器用户设置备份,用户配置文件状态变成“备份”
  8. STM32F103单片机使用DMA功能读取ADC采样数据
  9. python没有库_python-嵌入没有标准库的Python3
  10. java 程序包jar_把Java程序打包成jar文件包并执行
  11. ACdream区域赛指导赛之手速赛系列(7)
  12. jdbc:initialize-database标签的研究
  13. 强化学习在游戏中的作用_游戏中的强化学习
  14. java copyfile失败_如何修复CopyFile()错误5 - 访问被拒绝错误
  15. 来自网页的消息服务器不能创建对象,ActiveXObject(Excel.application)引发Automation 服务器不能创建对象...
  16. 采集卡属于计算机设备还是采集设备,显卡能做视频采集卡吗?
  17. android 瀑布流 的实现
  18. 无法解析的外部符号 Direct3DCreate9@4
  19. Mybatis缓存机制(一级缓存、二级缓存、三级缓存)
  20. 3.Maven 常用命令

热门文章

  1. 计算1-100之间的质数有多少个?将质数以及质数总数打印在控制台。
  2. mendeley中如何重复引用同一篇参考文献_免费文献管理器 Mendeley,其实比你想象的好用!...
  3. Debian10.1安装中文输入法与sogou搜狗输入法
  4. gcc-4.8.5 优化选项
  5. 通信算法之九十八:4G LTE通信系统 PCFICH信道处理流程
  6. [BZOJ1339] [Baltic2008] Mafia / 黑手党
  7. SMT贴片加工产生焊点剥离的原因和方法
  8. 科研中如何保持积极的心态
  9. android adb shell 命令操作
  10. AttributeError: ‘list‘ object has no attribute ‘astype‘