encParams参数的sm4 算法加密

这几天没事,看了看看各大网站的登录加密方式,今天的是邮箱的登录,加密说复杂也复杂,说简单也简单。

复杂是登录时候发送了好几次请求,每次请求的东西具体干嘛,在下次请求中如何使用的没搞清楚。单每个参数都加密了,因为sm4算法在web应用中第一次碰到在这里记录下。

很早 做政府项目项目sm2算法,都不知道已经净化倒了第四代了。

第一步,首先查看加载的内容。

会看到请求返回的 encParams这个参数,而且下面的几个请求也都是这个参数,感觉像aes,有感觉数字多了点,最初搜索这个参数,感觉调用的地方太多了。不知道断电大在哪,后来搜接口名称,直接断住了。

第二步,断点位置。

在这里可以看到加密的参数,和数值,以及一些其他的参数。

第三步,进入到方法中。

在这可以点到加密的方法,把json转换成字符串,还有一个秘钥,最初以为是aes的秘钥,用aes尝试不行。看着写sm4感觉不对,于是查了sm4的相关资料。

第四步,node.js实现

const sm4 = require('sm-crypto').sm4;
const msg = '{"un":"lirun@163.com","pw":"K8ua60MSAL7qTcgjj+b2oFqsvbYV6MafxEItPNfF+V41gatQ303FWl7dYXnZJYdGBR0X4t5pnGgJNBbM43gPMnmwOv3vsBRwr/hjB7P6xXLcjSpK7kcOiS3JESLLHxaQdca6VfK9tB0OgYO0Iw6fl1vRQ3Q5KldCL2wue2H4OLM=","pd":"mail163","l":0,"d":30,"t":1722491386811,"pkid":"CvViHzl","domains":"","tk":"052c5ac13e3aadc6a9940dceffdc8d19","pwdKeyUp":1,"pVParam":{"puzzle":"Yg2SisUbVqdze/D+Arw96fCwMlGfI4pYAxc8pvCT0uDNnagSNUMisFk6UdgO9+9EkD0B1qa7so1I\\r\\nc9N/FTbh0G5KcP22NmggUrc8PE/guOsSv7sFjS52aPUJlmUkRRskIZGobMSeDDDvAcxWwqxapVQd\\r\\nY63BQYBGknAV4rmxsh7kXPKb7PBq8KLMlpP6hj76QFlLFHeJu2ru2P/En9tbtPAtitK9BQ2FsRYu\\r\\n6PpCjbcfVPnTR/7lAn+dJdf0U+op3Pl4c49CZMLCPJwOcHiPhA==","spendTime":500,"runTimes":162897,"sid":"566a734d-ddfe-4432-9c87-1adde9a326c3","args":"{\\"x\\":\\"c052d37fa74fae44881cc27bb405edb06f\\",\\"t\\":162897,\\"sign\\":318305015}"},"channel":0,"topURL":"https://mail.163.com/","rtid":"yyv2D7Hv560BoiwB78UHcKvoCKctWfGE"}'; // 可以是utf8字符串或字节数组
const key = 'BC60B8B9E4FFEFFA219E5AD77F11F9E2'; // 128位的密钥,可以是16进制字符串或字节数组

let encryptData = sm4.encrypt(msg, key);
console.log(encryptData)

总结

因为是邮箱只是学习,每一步的请求中还有几个其他的,有在一个字符串随机一个固定长度字符,还有其他类似环境生成的。

邮箱都有现成收邮件的接口,所以这个东西看看就好。

  • 14
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值