Thinkphp 6 使用RSA非对称加密算法 对接口加密解密
后台接口中 经常使用到加密算法 如何使用RSA 非对称加密 对数据进行加密传输
下载RSA 加密算法
php-Rsa算法下载
将下载好的RSA 算法 放入 到 TP6项目根目录下 extend 拓展目录中
// 实例化
use \rsa\RsaCoding as Crypto;
使用系统自动生成的 32为加密进行加密解密
$plain = "Some secret here for you ...";
$key = openssl_random_pseudo_bytes(32);
$cipher = Crypto::encrypt($plain, $key);
$msg = Crypto::decrypt($cipher, $key);
print_r(['明文'=>$plain, '密码'=>base64_encode($key), '解密'=>$msg, '密文'=>$cipher]);
结果返回
Array ( [明文] => Some secret here for you ... [密码] => SpmMiuaPdPFqrjPd4mfAV9h7o5sL3DZrIHuR0YXofjA= [解密] => Some secret here for you ... [密文] => dQRB3s/Q7hN1BJr8Ow6McnA6cApWJ+knwgsn/27LUMupyQECJrDBE58b4NguNn7UvrxAY9JVEtSpZQeAJm+C5nh3EjI6+nOq8P1Tpjp8K0I= )
利用公钥加密,私钥解密做数据保密通信!
$plain = "利用公钥加密,私钥解密做数据保密通信!";
$cipher = Crypto::publicEncrypt($plain);
$msg = Crypto::privateDecrypt($cipher);
print_r(['明文'=>$plain, '解密'=>$msg, '密文'=>$cipher]);
结果返回
Array ( [明文] => 利用公钥加密,私钥解密做数据保密通信! [解密] => 利用公钥加密,私钥解密做数据保密通信! [密文] => pOIXV66qa7mQ0t7ffToFmhRDodrC/ObqAODN7UibBy59pJMRN4elkMrO6yvp18jN23Yp+YThnuiPi53DtO9Ui7t7lvno8OoAsqzs4V/77H4bZKAr6u4skohRokPLT6mW2AkYAOYRpbW9fbAxu3/gfi3i6Nf4otT03pb6+MGZ1y/OF3ScwltmhXvYRZddfnLZbPjBlJX7FNlVzc+ApmIsZj/n76qG/gJl/CLn2K1A+mHrmMD25MiacDvHqLiaC2oe7lEC4uerWS913PMOmmS/PrPa3xQxCRuff0GJ5uAsxbSU+9iwjSxtaMOWWpv1nk0t6dYz2+aD5CWsGRnRFNGfZg== )
利用私钥加密,公钥解密可以做身份验证
$plain = "利用私钥加密,公钥解密可以做身份验证";
$cipher = Crypto::privateEncrypt($plain);
$msg = Crypto::publicDecrypt($cipher);
print_r(['明文'=>$plain, '解密'=>$msg, '密文'=>$cipher]);
返回结果
Array ( [明文] => 利用私钥加密,公钥解密可以做身份验证 [解密] => 利用私钥加密,公钥解密可以做身份验证 [密文] => Z8B6Csq3MzwmZLObT3qyWqHOi5o27wDAEGuSwYzQS3eTIZPIb2+l0SuWKpZtcj5KLuEo/EFV3i8mitUI2Htm6kinl513dxBmpJTkLj1hu1NVs4CoUTE/mUe8UrKUEEleXZstrKzPsCqWOizMxAeE059fzg9NvhNzrFNc0L5lsiIOVD28H447Teo5Z9iCexVGG1LhxXpBWvwhpiVpt5wKfm/kX0wWzqS4e/BETNjh47Z6vBT6SoS1+YnDE5TN/PgWjdwA4X+p5CjzZR3tl3iI8tliPa5hkoH0LJ7f59lmBNPY7MK4X14/iMutbo6GaS7p5vvr5h252aX/oUNYeskG7Q== )
$msg = 'a=123';
$sign = Crypto::sign($msg);
$verify = Crypto::verify($msg, $sign);
print_r(['预签'=>$msg, '签名'=>$sign, '验证'=>$verify==1?"PASS":"FAIL"]);
返回结果
Array ( [预签] => a=123 [签名] => X2N1TNCvVBfnFHrZZAS8Clm98e8UWJZ6eaJTGIR6Pz0X2kBjwMQ/AGMRxi90Ul6ysy664y85tBQtpYNbOEsWfkfzSId2NCJC1bfnMedsRLp3q1GajYq4eLgPm96WVUF1kakDIN/PA5jPo/WSE7YWXX4xBL0bwYRugB7IcaaeLvY9PqHuIhzZxhV7OfBLfPxCqHQVdmfBatRU5dxJqrJ+SfjeAYrJFLbd2K52PidQfctHilQOl6jx9k9lymGX7MvS/fvGRxlIIoE9HPOkKqYVHf3EOkqwZqQweIocjhblOcksjfCVr3hk4c7iWp9fnZm2rrgzVIZSg6mk2vr4QC+2nw== [验证] => PASS )
Thinkphp 6 使用RSA非对称加密算法 对接口加密解密相关推荐
- python能解密java的_实现Java加密,Python解密的RSA非对称加密算法功能
摘要 因为最近业务需要使用到openssl的rsa非对称加密算法,研究了下它的使用方式,但是特殊在于前端分IOS和android两端,所以前端部门要求使用java给他们做一个加密工具包,但是因为服务端 ...
- java python rsa加密_实现Java加密,Python解密的RSA非对称加密算法功能
摘要 因为最近业务需要使用到openssl的rsa非对称加密算法,研究了下它的使用方式,但是特殊在于前端分IOS和android两端,所以前端部门要求使用java给他们做一个加密工具包,但是因为服务端 ...
- 加密授权验证学习之五——RSA非对称加密算法将机器码加密为注册码
RSA加密算法是一种非对称加密算法,在公开密钥加密和电子商业中RSA被广泛使用.我们这里使用RSA加密算法,主要用到openssl库,openssl是可以很方便加密解密的库,可以使用它来对需要在网络中 ...
- 非对称加密算法 - Java加密与安全
非对称加密算法我们从DH算法中可以看到密钥对是一种非常有用的加密算法 密钥对中publicKey是可以公开的,而privateKey则是需要保密的,由此奠定了非对称加密的基础 非对称加密就是加密和解密 ...
- Java 实现 RSA 非对称加密算法-加解密和签名验签
1. 非对称加密算法简介 非对称加密算法又称现代加密算法,是计算机通信安全的基石,保证了加密数据不会被破解.与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密(pr ...
- RSA(非对称)+AES(对称加密)前后台交互
前言: 为了提高安全性采用了RSA,但是为了解决RSA加解密性能问题,所以采用了RSA(非对称)+AES(对称加密)方式,如果只考虑其中一种的,可以去看我前面两篇文章,专门单独写的demo,可以 ...
- [crypto]-52-python3中rsa(签名验签加密解密)aes(ecb cbc ctr)hmac的使用,以及unittest测试用
环境: 在ubuntu14.04下,记得安装:sudo pip3 install pycrypto 代码示例1: =========================== import base64 f ...
- java js 非对称加密算法_Java加密技术(四)——非对称加密算法RSA
Java非对称加密算法rsa 接下来我们介绍典型的非对称加密算法--RSA RSA 这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法.它易于理解和操作,也很流行.算法的名字 ...
- .NET Core加解密实战系列之——RSA非对称加密算法
简介 加解密现状,编写此项目的背景: 需要考虑系统环境兼容性问题(Linux.Windows) 语言互通问题(如C#.Java) 网上资料版本不一.不全面 .NET官方库密码算法提供不全面,很难针对其 ...
最新文章
- 《如何高效学习》作者推荐!
- spark读取hdfs路径下的数据_Spark读取HDFS数据分区参考
- ASP .NET 如何在 SQL 查询层面实现分页
- 零基础学python爬虫-我是如何零基础开始能写Python爬虫的
- 嵌入式操作系统内核原理和开发(内存分配算法)
- 网格布局每个网格都能放置一个组件_Android综合试题
- 物联网在水位监测中的应用
- java的sas数据安全_使用sas中的do循环指定数据信息
- 非极大值抑制(non-maximum suppression)的理解与实现
- JS判断一个页面是否已经打开
- ST电机库无感FOC模式接电机前准备工作(1)----PWM波的生成
- 高等数学 下册 第九章 偏导数 笔记
- Mybatis框架中Oracle使用BLOB字段存储图片并展示(详细步骤)
- 环洋市场咨询:全球EMS和ODM收入预计2028年达到7978.5亿美元
- 人工智能 - paddlepaddle飞桨 - 深度学习基础教程 - 数字识别
- 已知从1970年1月1日0分0秒到目前的总秒数计算当前时间
- 记住鲁迅的所有文章,因为他具有深远的意义,在当下意义重大。
- python英语词汇量测试_非常适合新手的一个Python爬虫项目: 打造一个英文词汇量测试脚本!...
- Kali Linux查看信息
- oracle体育成绩字段,在Excel中利用自定义函数处理体育达标成绩