微信小程序使用jsencrypt 版本要求

这篇博客介绍了如何在微信小程序3.0.0-rc.1版本中使用jsencrypttrsa进行加密验证,包括npm安装方法和必要的代码实现,适合升级后的开发者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上很多帖子都有解决小程序使用jsencrypt rsa加密的方法,需要注意的是对版本有要求,新版本添加很多依赖,无法修改,目前我使用的是3.0.0-rc.1 

npm i jsencrypt@3.0.0-rc.1

具体方法:微信小程序使用npm方式增加jsencrypt rsa加密验证_mollerlala的博客-CSDN博客_jsencrypt npm

需要注意的是,在详情里面小程序最新版已经没有 使用npm模块  默认 npm init  npm i 就可以使用,可以省略此步骤

具体要加的代码如下


var navigator = {
  appName: 'Netscape',
  userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46     (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1'
};
var window = {
  ASN1: null,
  Base64: null,
  Hex: null,
  crypto: null,
  href: null
}

### 实现微信小程序中的 JSEncrypt 加密 要在微信小程序使用 `JSEncrypt` 进行 RSA 加密,可以通过 npm 方式引入并配置。以下是详细的实现过程以及示例代码。 #### 1. 安装依赖 通过 npm 安装 `jsencrypt` 库到微信小程序项目中。执行以下命令来安装库: ```bash npm install jsencrypt --save ``` 完成安装后,在微信开发者工具中同步 npm 包至本地工程目录下,并确保在 `project.config.json` 文件中启用 npm 支持[^1]。 #### 2. 配置与引用 在需要使用的页面或模块中导入 `JSEncrypt` 并初始化对象: ```javascript // 引入 JSEncrypt 模块 import { JSEncrypt } from 'jsencrypt'; Page({ data: { publicKey: '', // 存储公钥 encryptedData: '' // 存储加密后的数据 }, onLoad() { this.setData({ publicKey: '-----BEGIN PUBLIC KEY-----\n' + 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8rWwS7vXkajFtUSZc...' + '\n-----END PUBLIC KEY-----' }); const encrypt = new JSEncrypt(); // 初始化 JSEncrypt 对象 encrypt.setPublicKey(this.data.publicKey); // 设置公钥 const originalText = 'This is a secret message'; // 原始明文消息 const encryptedMessage = encrypt.encrypt(originalText); // 执行加密操作 console.log('Encrypted Message:', encryptedMessage); this.setData({ encryptedData: encryptedMessage }); // 更新界面显示加密结果 } }); ``` 上述代码展示了如何加载公钥并通过 `JSEncrypt` 的 `encrypt()` 方法对指定字符串进行加密处理[^2]。 #### 3. 解决可能遇到的问题 如果在 uni-app 或其他跨平台框架中运行时发现报错,则可能是由于环境差异引起兼容性问题。此时需确认所选版本是否支持当前开发环境下的 WebCrypto API 调用[^4]。 另外需要注意的是,虽然非对称加密提供了更高的安全性保障,但由于其计算量较大,在性能敏感场景下应谨慎选用;对于高频次交互需求建议采用混合模式——即先利用非对称机制交换会话秘钥再切换成效率较高的对称加密方式进行后续通信[^5]。 #### 示例总结 以上便是完整的微信小程序集成 JSEncrypt 插件用于 RSA 数据保护的操作指南及其配套脚本片段展示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值