jsencrypt加密解密

本文介绍了如何使用JSencrypt库在JavaScript中进行RSA加密操作。通过三步实现:下载jsencrypt库,创建jsencrypt.js文件并配置加密解密函数,最后在页面中导入并使用这些函数来加密和解密密码,存储在Cookie中。

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

第一步,下载

npm install jsencrypt --dev 

第二步,建立jsencrypt.js文件,内容如下
通过公钥加密,私钥解密,哪个页面需要引入utils/jsencrypt文件即可

import JSEncrypt from 'jsencrypt/bin/jsencrypt.min'
// 密钥对生成 http://web.chacuo.net/netrsakeypair; 把下面生成的公钥、私钥换成自己生成的即可
const publicKey = '',//生成的公钥
const privateKey='',

// 加密
export function encrypt(txt) {
  const encryptor = new JSEncrypt()
  encryptor.setPublicKey(publicKey) // 设置公钥
  return encryptor.encrypt(txt) // 对数据进行加密
}

// 解密
export function decrypt(txt) {
  const encryptor = new JSEncrypt()
  encryptor.setPrivateKey(privateKey) // 设置私钥
  return encryptor.decrypt(txt) // 对数据进行解密
}

第三步,页面使用

import { encrypt, decrypt } from '@/utils/jsencrypt'//rememberMe-password加密

Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });//存到cookies时加密

this.loginForm.password : decrypt(password),//取出时解密
### 使用 JSEncrypt 进行 JavaScript 加密解密操作 #### 安装 JSEncrypt 库 为了在项目中使用 `JSEncrypt`,可以通过 CDN 或者 npm 方式引入该库。如果采用 CDN,则可以在 HTML 文件头部加入如下脚本标签来加载库文件。 ```html <script src="https://cdn.bootcdn.net/ajax/libs/jsencrypt/2.3.1/jsencrypt.min.js"></script> ``` 对于基于模块化的现代前端框架(如 Vue),推荐通过 npm 来安装依赖包: ```bash npm install jsencrypt --save ``` 之后,在代码里可以这样导入并初始化对象[^1]。 #### 初始化加密实例与设置公钥 创建一个新的 `JSEncrypt` 实例,并调用其方法设定用于加密数据的 RSA 公钥字符串形式。这一步骤非常重要,因为只有设置了正确的公钥才能正常执行后续的加密流程。 ```javascript let encrypt = new JSEncrypt(); // 假设这里有一个有效的RSA公钥字符串变量publicKeyString encrypt.setPublicKey(publicKeyString); ``` #### 执行加密过程 准备好要被加密的信息后,可以直接调用 `encrypt()` 方法传入待加密的内容作为参数即可获得经过 Base64 编码后的密文结果。 ```javascript const originalText = "这是一个测试消息"; const encryptedData = encrypt.encrypt(originalText); console.log(`Encrypted Data: ${encryptedData}`); ``` 需要注意的是,由于浏览器环境下的安全性局限性以及可能存在的XSS攻击风险等因素影响,在实际开发过程中应当谨慎评估是否适合于特定应用场景下直接在客户端完成敏感信息的加解密工作[^2]。 #### 解决潜在的安全隐患 当在一个完整的应用环境中部署时,应该特别注意避免因不当配置而引发安全问题。例如,在某些情况下发现 vue 项目中的 jsencrypt 可能会带来安全隐患;因此建议开发者仔细审查相关实现细节以确保系统的整体安全性[^3]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值