class Events
{/*** 解密操作* @param 密匙*/static function rsakey(){return '-----BEGIN PRIVATE KEY-----
MIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQCsoY531mLvCqmh
EvDJnthmiu5/fRGBMYgOaQH+cOnfuvM5LlB1Dh+NJ6LqroDkxNc+LMpkr+/Sx6Bk
QSVD5WVpL17yuLqpvNJwMwHb2071lgORZtL8GbYVTaj9vkleMzElKlbP/ZyYxmDl
o2GwSJDVr+FuqTDGUNKZIPZ2UdT5v982Np9TQxd2JZff4/sJgGdUgvJkgRE8OaSc
7zgif/3M3LNHUzwCFQCjOD42lZ/42uTKHY0zRmriW77N5ml4W80O3ylTqGDQyyje
cXtUztfZAT+7ud5XDYYNHEI1/njVYElrJAsoHvsCH4345FVMzEAdTPwLMqPpDrWg
WpZWcPUob4M8mm4wanfV1RgxkRPldvUsoupi+cqILbuO9DSJP6JSP4HTn+PqJIBf
C0ZH5adJtuOvnv/Fi04M7QuP3/HLrAIIOYUoikDRiwMCSRdsOc+3qvwTfHXG7j1I
TdKIIAjWBEvbKLnmqe7XvMX4zxjpfHNTv3wmiszb/k2+1Y1gw22zVokMdTLozpal
zIIUIaXrB6stt/i12ybsymUZEw7RaThBWULA5UcJTPjc0SZfjhgURKvRbNkBEXCA
3gxrCj97iANZXcCm+YIoKSxy/SWQifb+gDlh+M5NNTLq2IKb2aXkHSQRWP5EuFNQ
63CeBCrRvaw4Qifn93aViy6JOurpAwIDAQABAoICACBF47iLn9tIhwXR4KoQxCwH
dSboXslkVSc8gl7rBQ4KiUX7XpdDmKpu6ootLXOXSRYakYvZSGCDaXzUoP7cd+T+
MiX2Ww84ea74GjTb/xryfKBGNNNkiyHYbuthE55Eu79S9v/TTd9R1vOXY7/tEQah
5uclQjURDw4Jl4nvKn22XShpdce/FzfDN21n1ZqlIqwt/trDNlGoBRpBrqDkhLIz
4GBJM0LAYmohLaBOwKVpZrRSaf9X/stqk3UyyizyHJfXKIa3R8JA+Nb9KC1mrfun
vB6AVQy5PoJc8hPeCwD5C0C4cE2D3TE8bPJG3ZuJ48KWjdgaE4KSeWoNBWYLoAks
V4FEfQHYpG0QrcHeON32hoR92F0zwFF5D9YwlNSeM4EA7XAfv0p0btvi71edyRJS
em/h+ghc45DRtq7wzVPt4hSaYkIbuaiUU7lG/bzjcHKRpGGLSDkSWUf1Lh9ft/BX
1K29CwL3YfxR1WTT1vgr6KTKhGVJb5sZSHBpohemugZ6szzqigwJcPP2Q2x8Q0uE
NeJsXRxWBDYfvMxjD8UNbsmhaPH9T5xBXoKH0B135migSLrp3Q3zHvqu2ptdt7yP
RmOvM8MJAK/XP+OPU9QIjqTVNv6TE4OauLG4AlAaV5lcmabNnBrrwPe7WlpDAXZ9
cbNqYaZCXTNJIMHbqjaBAoIBAQDjYrS1SqPGr+eLtr8TXeVckE/7NBzERSLAZYvv
wxXCr3zifZz+sk2wzM6gqdBOQYVe1rZCgiaQNZisDQ5XjtvAySpRHM/PRzcchL++
vTRommZCJb9s04gaP7T+oLQwMPsztWUo2NY6yIgylxYSeWk4R1bv19KVUuE6aT+s
0DdkqCq8S0kAfu/xn8uSohHiE6PV9XoYCV0/FbwCMKiL1W+swIzrakOGdGhRaRD/
86mcjrZ4a2PIWdpbu1xPQu3E6uoiGl9oa2UJSpo6RPH1pdneRrzjoMJzipd5zI3t
UUQgYSr64I10I8zbt3aBQx4kMaGHaB3LK6vNAwbj4Xw/NTkxAoIBAQDCWusaPz+h
OeVSGO6FgpiP+nzIilT//9ALRXqb6EY1fJZAt0yrZw4fwu+TFEPVOyPMtcCvxzRb
i9cEPkMxtdTbIhTkgNMhh8NtURgcDL5af9PqPPq5F+qHDKemqFSGdydLLPPVEkqj
Xbqw2BNv5wsyWkZ2BXMtyh6vbPHI/VKkBd0Vu+QZChZgfuNvoO7yxINhfLrZXOcL
jIyNTgMLMNq7d87V7iYmtVf/mWjlSP/TiNqbf0u9PIsVYp0KCbbu2H2G8gZLbh37
1xZq8KOQPt7Htv9A6h3Dkfd2G3e7jXGJIjYpo6SBQEFfKQcJ74jKFOewXqnMttoL
dIaU1E0pl7hzAoIBAF3z3+T0pT0oW4zwAn13E5kui82o16YFRvmmO67itbAOoJRZ
ALCAbfd6eHoMEGT1T61DHGXYryRw8NdOQbnN7mD2/cQsGnVz4IKpGy0tsmTyPwRf
4nuN37Ow1RFMx4cOBg10iwrYpZP+XcBBiz4w6lf1qidJztoiN6vR5xx5oBm4HohU
tyI8UNpOg2fgDXGTWePDHSKnY974FQn2nv3AP/dqTA/NhX8dxCi3N+35+QAWO7D/
9mfHMKEshlS9u87cncdfjEJx9XpkV9txt2Qflijwo4WOXCovfq015wLCzFpwq7ij
Ze8yB6hVYuLAH8kmtK5lR8I2FjOMZ6Fq/tKDJFECggEAARUajBngE9jLsypaYbn5
eYvOmBtVH9vf38AyT536jh+0goXC0o2PYZPnW61YN17N8zzr5s64Nu5Pc0GZhDRc
DCBjd2ZURrKH3xr9hGJ5yO0/U+WlC9TbRIdIg8AaQGl3eY61iPFCIyjJemSprwzd
XhlsnQmou4+NnjKAIjtu82To908FlTIeL8llIOEHk6iOhsN4Eu/WhZTxz3Ooxq4t
+a9QIpbh9YM7Czxifixq6FWxyf3qgRJOP/89mqm1MB1ajZ7ZdCAX4KgxAsV2U75V
5UzanRTwt38fnrPGde/yuu3K2W6E4wdllc8Xr/F6lI2LQMs2LOKz0i6C9V89Usb6
iwKCAQAh82dyfedfcK/taeF0AsKofbdDM4SAMtWIgSuZf+/wgTr5aMj5+NtpgME/
bT3Gjwo78Mvk4H01kTbbUoqi2xvStyRXj+UsnT2QhpOfsaR2POg2E718cHTBnKDN
lBxhRyZqzX4u3VppTlYSjg3N0QVppA0R+f3EaoYgne1INuB3lOy8K3KOY3j+yGbY
P2dpnW8uVOD7/WC/nlKCtV3mb/xVloc3XBY91uaCadI3wo3z4wCCXAHGxGffcNoy
suGpsi2C0xsznG+5FOw826T44rokWS59CSckeeMV3CNTjQS8JQD9e+NX9pNzus/d
M8pOp2OJORHvXb3v6dTNM6MQiR5Z
-----END PRIVATE KEY-----';}static function publickey(){return '-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqxZfOgT3qh6pi5yx36Zf
9+GbA+WrTjayUa3AMgFcnTvUQ4ClYxmBNAy6+V9Cgdi3r8+tSa0DOF8yuue8CV0h
+3tPeRZNInty41mEZofAhAZJr7PreMb5QfEIkGkuKeGJF8vhi3VC0dr8/NcXI93b
ISOeIKv2vMZVmsYcIouIzupevkL0AUvKqitAYBV2KwUoXmm5GHAxHRgIi7yXGkvZ
NPmK9Z5nxA/o7AK01X8ShHL902ID9I/ags1L3O2NsQ4921KNVAjTCuKL2hVKkjzw
9unjp+WBCaeKM3jJK4JWckf4QEsRWANgAQbs30X98V1UXyRT/9D8ZgwoduLfyU6+
fopBr1Vy7b+9O82aV0bNe5K34AZ1rfFdoyuOrvWejQtOJ2DkZdioyW+6GOh89s62
9Wd2B6kBQyUi3BhW5Z6t0Lr5Y5u0e4L/hvZEYyvxi2buYD4RNYfPHb/j0QhccsFA
A07XU1U0tYxIg+6MAONStFQfInfTom1bhRhsBz60dkpVNer1tdSENshrhzbsVNLw
HhlMXhlMJ3LqPj7llsr4lwIQ5Dbw9WEDXZOaw2uEeKrCmPIUb/ZwEMg0nEilcI8a
4bPjV9HgKZZH4nUZgKt5L1cNOvTHRTlQbmILHDmBAdlP0hhsBE62vd0BYn5cKtZB
CgEGMREuqZG+C0ZXYrQOkiECAwEAAQ==
-----END PUBLIC KEY-----';}/**}* 解密操作* @param $data 密文*/static function rsaDecrypt($data){$private_key=Events::rsakey();//私钥解密 $hex_encrypt_data = trim($data);  //十六进制数据openssl_private_decrypt(base64_decode($hex_encrypt_data), $decrypt_data, $private_key); //解密数据return $decrypt_data;}/*** 公匙加密* @param $data 需要加密的文本*/static function rsaEncryption($data){$public_key=Events::publickey();openssl_public_encrypt($data,$encrypted,$public_key);// //加密后的内容通常含有特殊字符,需要base64编码转换下$encrypted = base64_encode($encrypted);return $encrypted;}}

服务器使用类里面的公匙进行加密JSON

Events::rsaEncryption(json_encode(['states'=>'该用户已下线',"code" => 10004],JSON_UNESCAPED_UNICODE))

客户端使用
vue JSEncrypt.js 进行解密

Vue.prototype.jsonDecrypt= function(data){var socketSkey =`-----BEGIN PRIVATE KEY-----
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
Bpun+UwI53McxpB0YTzyj0y7Zfg2P0w=
-----END PRIVATE KEY-----
`let encryptor = new JSEncrypt() // 新建JSEncrypt对象let privateKey = socketSkey;encryptor.setPrivateKey(privateKey)return encryptor.decrypt(data);
}

解密JSON密文

this.jsonDecrypt(data)

服务器与客户端RSA加密解密通讯相关推荐

  1. RSA加密解密和签名的应用场景

    由 RSA 可以生成一对密钥(私钥和公钥) 明文消息用公钥进行加密后,可以得到密文消息. 密文消息必须用私钥进行解密后,才能得到明文消息. 公钥是公布出去的,任何人都可以知道. 密钥自己藏着,只有自己 ...

  2. C# Java间进行RSA加密解密交互

    C# Java间进行RSA加密解密交互 原文:C# Java间进行RSA加密解密交互 这里,讲一下RSA算法加解密在C#和Java之间交互的问题,这两天纠结了很久,也看了很多其他人写的文章,颇受裨益, ...

  3. iOS使用Security.framework进行RSA 加密解密签名和验证签名

    iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...

  4. C# Java间进行RSA加密解密交互(二)

    接着前面一篇文章C# Java间进行RSA加密解密交互,继续探讨这个问题. 在前面,虽然已经实现了C# Java间进行RSA加密解密交互,但是还是与项目中要求的有所出入.在项目中,客户端(Java)的 ...

  5. Android RSA加密解密的 工具类的使用

    RSA 比较特殊,我们首先要生成私钥和公钥,然后在加密的时候,使用私钥加密,在解密的时候使用公钥解密. //RSA 的初始化,获得私钥和密钥public void rsaInit(){try {Key ...

  6. python rsa加密解密_RSA加密解密(python版)

    RSA的算法涉及三个参数,n.e.d. 其中,n是两个大质数p.q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度. e1和d是一对相关的值,e可以任意取,但要求e与(p-1)*(q-1)互质: ...

  7. ios php rsa加密解密,php rsa加密解密使用详解

    第一条命令生成原始 RSA私钥文件 rsa_private_key.pem,第二条命令将原始 RSA私钥转换为 pkcs8格式,第三条生成RSA公钥 rsa_public_key.pem 从上面看出通 ...

  8. genrsa out php,PHP进行RSA加密解密

    最近在着手写一个服务端安全接口规范,需要用到RSA加密解密.所以小试牛刀一下,并且做个记录. 环境: Win7 64位 PHP 5.6.12 需要原型工具: 一.安装OpenSSL 随意安装到哪里 二 ...

  9. RSA加密解密及数字签名Java实现--转

    RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.当时他们三人都在麻省理工学院 ...

最新文章

  1. (iOS)从0到Double系列 如何刻出一个可拖动的导航浮動按钮
  2. Oracle数据类型(转)
  3. mysql子查询设置_什么是mysql子查询?如何利用子查询进行过滤?
  4. x=x|(x+1);和x=x(x-1)?
  5. android线程栈默认大小,线程的默认最大堆栈大小 - Internet Information Services | Microsoft Docs...
  6. pythonsys用法_Python中 sys.argv[]的用法简明解释
  7. 去除Android开发文档中的URL,加速你的Android开发文档
  8. linux基础命令chown,Linux常用命令及组件:chown和chmod
  9. 禁止微信内置浏览器调整字体大小
  10. 多线程—并发容器与机制
  11. 如何在Ubuntu系统下搭建Android开发环境
  12. 282.给表达式添加运算符
  13. 惠普打印机故障代码_HP激光打印机常见故障代码
  14. electron打包失败在下载nsis的地方
  15. matlab 组装刚度矩阵,求整体刚度矩阵matlab程序
  16. JS,两种在页面加载完成后自动执行的方法(ready,onload)
  17. c语言 大写英文字母
  18. 从 0 开始最详细的微信公众号接入 AI
  19. MYSQL 文件目录,数据库的存储文件目录
  20. 25k~50k,比特大陆招人啦!这次会是你吗?

热门文章

  1. Chapter12 武装飞船
  2. iview 级联选择组件_iviewui级联选择 如何自定义?
  3. html5 矢量图形插件,HTML5画布矢量图形?
  4. Super Map超图IServer倾斜摄影模型单体化与属性查询操作
  5. IP地址分类,涉及子网掩码
  6. vue.js--实现输出员工工资表
  7. 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(1月1日)...
  8. Oracle安装与卸载
  9. 【计算机科学基础】ASCII码表
  10. 最详细的WordPress建站教程,什么都不会10分钟也可以