python java RSA加密算法互通
! python rsa生成是 .pem文件,java中的rsa是一串字符串
python 生成的是pkcs#1 格式的,java好像是pkcs#8的。
python的密钥和公钥是 ' -----BEGIN RSA PUBLIC KEY----- '开头, '-----END RSA PUBLIC KEY-----'结尾 。
我们公司的 java 公钥和密钥是 按照 X.509 标准进行编码的密钥的字节, 经过 X509EncodedKeySpec 如图
python 和 java 互通 RSA加密解密代码如下:
def encrypt(content): ''' # 用公钥加密 :param content: 加密的字符串 :return: ''' # TODO PRIVE_KEY java端给的公钥 key = RSA.importKey(base64.b64decode(PRIVE_KEY)) cipher = PKCS1_v1_5.new(key) return base64.b64encode(cipher.encrypt(str(content).encode(encoding='utf-8'))).decode('utf-8') def decrypt(crypt): ''' # 用公钥加密 :param crypt: 加密的字符串 :return: ''' # TODO PRIVE_KEY java端给的私钥 rsakey = RSA.importKey(base64.b64decode(PRIVE_KEY)) cipher = PKCS1_v1_5.new(rsakey) return cipher.decrypt(base64.b64decode(crypt), random_generator).decode('utf-8')
在python中私钥和公钥千万别传错,否则会报 ’不支持格式的错误‘
分类:
python
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· 开发的设计和重构,为开发效率服务
· 从零开始开发一个 MCP Server!