Postman报文进行加密之RSA公钥加密
RSA公钥加密和私钥加密整个结构是一致的,《Postman报文进行加密之RSA+Bate64》中私钥做的签名,这里RSA公钥是进行加密。
//--------RSA使用公钥对AES密码进行加密-------------// function pubencrypt(pubencrypt_key, aeskey){ console.info('pubencrypt_key:'+pubencrypt_key); console.info('aeskey: ' + aeskey); //注意此处上下的BEGIN PRIVATE KEY不要删除,框架自带的 const public_key = '-----BEGIN PUBLIC KEY-----\n' + pubencrypt_key + '\n-----END PUBLIC KEY-----'; var publicKey = forge.pki.publicKeyFromPem(public_key); var buffer = forge.util.createBuffer(aeskey, 'utf8'); var bytes = buffer.getBytes(); var pubencryptedText = forge.util.encode64( publicKey.encrypt(bytes, 'RSAES-PKCS1-V1_5', { md: forge.md.sha256.create(), mgf1: { md: forge.md.sha1.create() } }) ); console.info('pulencryptedText: '+ pubencryptedText); return pubencryptedText; } // 第一次运行时从网络加载forgeJS,会导致请求失败 if(!pm.globals.has('forgeJS')){ console.log('request forge.js from ' + forge_url); pm.sendRequest(forge_url, function (err, res) { if (err) { console.error(err); } else { console.info("request forgs.js: Succeed, please try again"); pm.globals.set('forgeJS', res.text()); } } ); } eval(pm.globals.get('forgeJS')); pubencryptedText = pubencrypt(pulencrypt_key,vkey); console.log(pubencryptedText); postman.setGlobalVariable("encryptkey",pubencryptedText) |
这一段主要实现使用RSA公钥加密AES密码,AES密码是自己定义的,加密后的密文传递给变量"encryptkey",作为实际请求的参数。
'pubencrypt_key'是RSA公钥需要加上公钥的格式;
const public_key = '-----BEGIN PUBLIC KEY-----\n' + pubencrypt_key + '\n-----END PUBLIC KEY-----'; |
'aeskey'是自定义的AES密码;
forge.pki.publicKeyFromPem(public_key)转换pem格式的公钥;
forge.util.createBuffer(aeskey, 'utf8')创建缓冲区,设置编码格式;
buffer.getBytes()转成字节;
publicKey.encrypt(bytes, 'RSAES-PKCS1-V1_5')加密函数,把明文使用'RSAES-PKCS1-V1_5'加密成密文;
forge.util.encode64()把加密后的密文按照encode64进行编码输出;
setGlobalVariable()将密文赋值给Body栏目对应的字段;
这样需要签名加密的参数都完成了,就可以使用新Body发起HTTP请求。
Postman报文进行加密之RSA公钥加密相关推荐
- Postman报文进行加密之RSA+Bate64
最近在项目接口测试中使用postman,对于一般的非加密HTTP请求可以很方便直接的测试,但是有些需要签名验签的报文,就需要对报文进行加解密处理,在实际工作过程中,参考了网络上共享的资源,下面对自己工 ...
- asp版 vbscript RSA公钥加密 / 私钥解密 / 私钥签名 / 公钥验签(支持中文)分段加密解密
最近有空在把自己的asp站点后端函数全部整理了下,在弄RSA的时候遇到了坑了,然后找到下面这位兄弟刚好发布的文章: https://blog.csdn.net/todaygods/article/de ...
- RSA加密原理与RSA公钥加密系统、数字签名
通过公钥加密系统,可以对传输于两个通信单位之间的消息进行加密,即使窃听者窃听到加密之后的消息,也不能对其破译. 1.RSA公钥加密原理 1.1 几个核心概念 公钥P与公钥函数P() 密钥S与密钥函数S ...
- RSA 公钥加密——私钥解密
作者:刘巍然-学酥 链接:http://www.zhihu.com/question/25912483/answer/31653639 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业 ...
- ASP VBSCRIPT VBA RSA 公钥加密 私钥解密 私钥签名 公钥验签
<% '@title: Class_Crypt_Rsa '@author: ekede.com '@date: 2020-10-28 '@description: RSA 公钥加密->私钥 ...
- 登录密码加密,RSA加密算法
公钥加密,私钥解密 前端:密文RSA公钥加密,得到base64编码的加密密文,jsencrypt.min.js var publicKey = "MIGfMA0GCSqGSIb3DQEBAQ ...
- Android直播开发之旅(25):使用AES算法加密多媒体文件(+RSA+MD5+Base64)
文章目录 1. AES算法 1.1 AES加密过程 1.1.1 字节代替(SubBytes) 1.1.2 行移位(ShiftRows) 1.1.3 列混合(MixColumns) 1.1.4 加轮密钥 ...
- RSA公钥加密与私钥解密算法
首先是随机生成一个密钥对(一个公钥和一个私钥) package com.zy.demo1.secretTest;import lombok.extern.slf4j.Slf4j; import org ...
- AES加密和RSA加密详细原理及使用场景
部分RPC请求或者网络传输,需要对一些敏感数据进行加密传输. 误解 当初错以为MD5.SHA1这些哈希算法就是加密算法 后来在一些远程通信和网络传输的过程中,需要对一些敏感数据,经过再编码的方式,转换 ...
最新文章
- Blender材质和着色基础视频教程 CGCookie – Fundamentals of Blender Materials and Shading
- 小白学python系列-(4)list
- 一分钟带你快速进入Nacos的世界,史上最简易教程!零基础也能看明白!谁反对?
- 数据库复习之规范化理论应用(第八次上机内容)
- P3195 [HNOI2008]玩具装箱TOY DP+优化
- Django【基础篇】
- 群辉服务器根目录新建文件夹,群晖 synology NAS 存储创建存储空间的方法
- 十八.描述符(__get__,__set__,__delete__)
- 10)Thymeleaf 标记选择器语法
- Fiddler 5.0 中文版
- 攻防世界 crypto Railfence
- 狗年出生的宝宝取名都有哪些注意事项呢?起名真不是简单事
- qq音乐mp3解析php源码,QQ音乐PHP解析源码
- httpwatch professional 破解版v9.4.17
- logstash(10)过滤器-dissect
- 计算机无法自动连接网络连接,win7系统开机后无线网络无法自动连接的解决方法...
- 电脑运行卡顿?六个方法打开任务管理器解决
- 身体和灵魂,总得有一个在路上
- 秒杀小程序 php后台,基于ThinkPhp6.0+Vue 开发实现微信小程序、公众号、商城、拼团、秒杀、后台管理等功能...
- 根据词云寻找对应文章的Web开发