import base64
from cryptography.hazmat.backends.openssl.backend import backend
from cryptography.hazmat.primitives.serialization import load_pem_public_key
from config import conf# base64解密
def decode_base64(data):missing_padding = 4 - len(data) % 4if missing_padding:data += b'=' * missing_paddingreturn base64.urlsafe_b64decode(data)# base64加密
def encode_base64(data):data = base64.urlsafe_b64encode(data)return data# 公钥解密
def openssl_public_decrypt(key, data):length = backend._lib.EVP_PKEY_size(key._evp_pkey)buffer = backend._ffi.new('unsigned char[]', length)backend._lib.RSA_public_decrypt(len(data),data,buffer,backend._lib.EVP_PKEY_get1_RSA(key._evp_pkey),backend._lib.RSA_PKCS1_PADDING)return backend._ffi.buffer(buffer)[:]def jdq_public_decrypt(data):decrypt = ''# base64解密data_content = decode_base64(data.encode())# 计算总长度totalLen = len(data_content)# 设置起点decryptPos = 0# 载入公钥pubkey = load_pem_public_key(conf.otherPubKey.encode(), backend)while decryptPos < totalLen:# 循环公钥解密res = openssl_public_decrypt(pubkey, data_content[decryptPos:decryptPos + 128])# 拼接decrypt += res.decode()# 起点+128decryptPos += 128return decrypt

python 公钥解密相关推荐

  1. python rsa 公钥解密_python利用rsa库做公钥解密的方法教程

    前言 对于RSA的解密,即密文的数字的 D 次方求mod N 即可,即密文和自己做 D 次乘法,再对结果除以 N 求余数即可得到明文.D 和 N 的组合就是私钥(private key). 算法的加密 ...

  2. python的rsa公钥解密方法

    示例: # -*- coding: UTF-8 -*- import M2Crypto import base64 #私钥加密,公钥解密 def pri_encrypt(msg, file_name) ...

  3. python rsa 公钥解密_python使用rsa库做公钥解密(网上别处找不到)

    版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/8013009.html 作者:窗户 Q ...

  4. python RSA 公钥解密方法

    背景 常见的RSA加解密使用方式是:公钥加密,私钥解密.私钥签名,公钥验签. 但我在项目上却遇到了一个用python解决公钥解密的问题.查了好多资料最后完成了这需求,记录一下. 解决 1.代码示例 i ...

  5. python能解密java的_实现Java加密,Python解密的RSA非对称加密算法功能

    摘要 因为最近业务需要使用到openssl的rsa非对称加密算法,研究了下它的使用方式,但是特殊在于前端分IOS和android两端,所以前端部门要求使用java给他们做一个加密工具包,但是因为服务端 ...

  6. RSA用私钥加密数据公钥解密数据(不是签名验证过程)

    RSA用私钥加密数据公钥解密数据,严格的来说,并不安全.但是最近在写一个keygen的时候,软件作者是这么用的,所以只能搞一个这样的. 常规自带的一些rsa密码utils里面并没有这种功能.只有封装好 ...

  7. 非对称加密 公钥解密_了解非对称公钥加密

    非对称加密 公钥解密 Asymmetric cryptography, also called public key cryptography, is an essential element of ...

  8. 关于js私钥加密公钥解密的问题

    博客荒废很久了,最近遇到一个问题,看网上的说明比较少,所以写下来给大家一个参考 一般来说rsa算法都是使用公钥加密,私钥解密,或者私钥签名,公钥验签.但总有特别的时候会想要用私钥加密,公钥解密,但是j ...

  9. c rsa java私钥_RSA,JAVA私钥加密,C#公钥解密

    做这个东西在坑里爬了3天才爬出来,记录下供园友参考.C#程序员一枚,项目需要和Java做数据交互,对方甩了段密文和一个CER证书给我,然后我要对其密文进行解密. RSA 非对称加密,对方用私钥加密,我 ...

最新文章

  1. 近期活动盘点:车路协同与智能驾驶思享会(1.22)
  2. torch.tensordot()介绍
  3. 推荐 9 个 爱不释手的 JSON 工具!
  4. matlab表白_表白 | 北航男生想找个女朋友,我身高179,希望女生体贴一点
  5. java 线程之线程状态
  6. 解决 java.lang.IllegalArgumentException: Repository interface must not be null on initialization!
  7. 1.4编程基础之逻辑表达式与条件分支 02 输出绝对值
  8. linux如何确认账号过期了,linux下非root用户秘密过期如何确认,如果确认,该如何延期使其有效?...
  9. 吴恩达机器学习 2.矩阵和向量知识
  10. php无法写入json,php json解析不出来怎么办
  11. Div高度自适应内容高度
  12. SWF怎么转换AVI视频格式呢?
  13. IOS如何使用第三方字体
  14. 翻译:Tree Energy Loss: Towards Sparsely Annotated Semantic Segmentation
  15. virtualbox与windows共享文件夹
  16. 区分——带你领略分布式的专业评测集散地
  17. 【原创】从头开始,使用安卓系统WebView做一个功能强大的Epub阅读器(一)
  18. Python如何根据日期判断周几
  19. WiFi语音、VoLTE以及下一代移动语音服务
  20. echarts树图修改连线样式颜色,树的形状曲线和折线,树图边的曲度

热门文章

  1. python连接redis有中文_Python连接Redis并操作
  2. vue实现一个星级打分效果_五分钟用vue实现一个五星打分效果
  3. 企业研发人员配备比例_企业管理人员合理配置比例
  4. elasticsearch 嵌入式_Elasticsearch 开箱指南
  5. Linux中如何使用mysql和php_hi 感恩节——Linux基础教程之mysql和php
  6. elasticsearch常见属性单词解释
  7. 【Web安全】DVWA+CSRF跨站请求伪造-生成链接修改password
  8. 阿里云域名备案时产品类型
  9. esp32 micropython spiffs_二十一,ESP32 SPIFFS:读取一个文件
  10. ecm工作原理 usb_USB中CDC-ECM的了解和配置