小程序RSA加密、解密、加签、验签

小程序RSA加密、解密、加签、验签,第1张

npm install  wxapp_rsa

var RSA = require('/wxapp_rsa.js')

// RSA加签

    var sign_rsa = new RSA.RSAKey()

//privateKey_pkcs1需要是-----BEGIN PRIVATE KEY-----开头的私钥

    sign_rsa = RSA.KEYUTIL.getKey(privateKey_pkcs1)

    console.log('签名RSA:')

    console.log(sign_rsa)

    var hashAlg = 'MD5withRSA'

    var hSig = sign_rsa.signString("12345678901234567890", hashAlg)

    hSig = RSA.hex2b64(hSig)// hex 转 b64

    console.log("签名结果:" + hSig)

    // RSA 验签

    var verify_rsa = new RSA.RSAKey()

    verify_rsa = RSA.KEYUTIL.getKey(publicKey_pkcs1)

    console.log('粗宏答验签RSA:')

    console.log(verify_rsa)

    hSig = RSA.b64tohex(hSig)

    var ver = verify_rsa.verifyString("12345678901234567890", hSig)

    console.log('验签结果:' + ver)

//  RSA加密 【加密字段长度不大绝岁于117】

    var encrypt_rsa = new RSA.RSAKey()

    encrypt_rsa = RSA.KEYUTIL.getKey(rsa_public_key)

    console.log('加密RSA:')

    console.log(encrypt_rsa)

    var encStr = encrypt_rsa.encrypt('1234567890')

    console.log(encStr)

    encStr = RSA.hex2b64(encStr)

    console.log("加密结果:" + encStr)

    // RSA 解密

    var decrypt_rsa = new RSA.RSAKey()

    decrypt_rsa = RSA.KEYUTIL.getKey(rsa_public_key_private)

    console.log('解密RSA:')

    console.log(decrypt_rsa)

    encStr = RSA.b64tohex(encStr)

 岩慧   var decStr = decrypt_rsa.decrypt(encStr)

    console.log("解密结果:" + decStr)

如何给微信加上程序加密

方法/步骤

1/7分步阅读

打开安全中心界面,如图

2/7

点下权限隐私,打开权限隐私界面,如图

微信指坦检测删除好友_批量添加好友_自动检测僵尸粉

广告

3/7

点下程序加密,打开程序裂枣加密界面,这时的程序加密还未开启,如图

4/7

按下开启打开加密界面,完成密码肆逗拆设置,如图

查看剩余1张图

5/7

设置完密码就完成程序加密开启,如图

6/7

点下加密程序进入到程序选择界面找到微信,如图

7/7

点下微信的开启按钮就完成微信的程序加密设置了,如图

经常看到有点的小伙伴在群里问小程序用户数据解密流程,所以打扒行算写一篇关于小程序用户敏感数据解密教程;

加密过程微信服务器完成,解密过程在小程序和自身服务器完成,即由 encryptData 得到如下数据:

准备知识:

以上3点对于理解解密流程非常重要

根据官方文档,我梳理了大致的解密流程,如下:

重点在6、7、8三个环节。

AES解密三个参数:

服务端解密流程:

下面结合小程序实例说明解密流程:

最后的效果如下:

如果你的小程序没有绑定微信开放平台,解密的数据中不包含unionid参数

小程序绑定微信开放平台连接

从解密的数据看,算得上敏感的数据只有appid;个人觉得openid不是敏感数据,每个用户针对每个公众号会产生一个安全的openid;openid只有在appid的作用域下可用。除非你的appid也泄露了。

那么可以从解密数据得到appid,微信小程序团队是何用意呢?还是前面那句话,openid脱离了appid就什么都不是,openid和appid一起为枯消了方便小程序开发者做到不同小程序应用之间用户区分和隔离,同时能够将微信用户体系与第三方业务体系结合。没此知

所以我认为敏感数据解密的主要用处不是解密后回传给客户端,而是在服务端将微信用户信息融入到自身业务当中。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12338777.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存