Vue 2中的RSA加密

最近在做一个vue2项目,项目过程中用到了RSA加密,随之拿出来分享一下

npm: npm install --save jsencrypt

main.js

import JsEncrypt from 'jsencrypt'

//RSA encrypt
Vue.prototype.$jsEncrypt = JsEncrypt;
复制代码

因为过程中用了mixins,随之拿来封装一下:

export default {
	name:'RSA-encrypt',
	methods:{
	    //加密方法
		RSAencrypt(pas){
		    //实例化jsEncrypt对象
			let jse = new this.$jsEncrypt;
			//设置公钥
			jse.setPublicKey('-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDU/hbv04Efj5lDd6cTJFLuaHWXszy8kmnO0skAPeWp5CqgnNdzgUjD9sc6BLUWyb+NWLxO559z2bhhb2rWLDZ9MWMdX32w3FGiG3/2FAYubNBlNLv9pXPluj6QOj9TYWtMeb/RtCbDyNXFx0zeSV3vPyZ3kH7lJEIgERvie8bMWwIDAQAB-----END PUBLIC KEY-----');
                       //解密
			return jse.encrypt(pas);
		},
		//解密方法
		RSAdecrypt(pas){
			let jse = new this.$jsEncrypt;
			jse.setPrivateKey('-----BEGIN PRIVATE KEY-----MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBANT+Fu/TgR+PmUN3pxMkUu5odZezPLySac7SyQA95ankKqCc13OBSMP2xzoEtRbJv41YvE7nn3PZuGFvatYsNn0xYx1ffbDcUaIbf/YUBi5s0GU0u/2lc+W6PpA6P1Nha0x5v9G0JsPI1cXHTN5JXe8/JneQfuUkQiARG+J7xsxbAgMBAAECgYEAzS38sImiQOIXdbvlMfZzAYGVjk62+r1cukWqJdZ60J+hRNnyXy2zCDxJjaWNQWeWZLaPqL9Ohs685PftBmbPESalWdIjADijM0HKDFS6GKEYd3CcyJPRT1joRDMnyr7GhxpngcvKTHcsxwqZdlBCjjrOe+zL9yMl3mXSKytMHEliLoTnM6F1t2WOuPk+qcc8LCVB1LV/vhVPg98tg==-----END PRIVATE KEY-----')
			return jse.decrypt(pas);
		}
	}
}
复制代码

一般来说前端只需要存放公钥,用来加密传输就行了,私钥留着给后台解密;

生成公钥私钥的方法在jsencrypt的githut上github.com/travist/jse…

还算是比较简单的。

转载于:https://juejin.im/post/5ab4cb5cf265da237b2206b0

Vue安装RSA加密可以按照以下步骤进行操作: 1. 首先,使用npm安装jsencrypt库,可以在终端运行以下命令进行安装: ``` npm install jsencrypt ``` 2. 在Vue项目的main.js文件引入jsencrypt库,可以在文件的顶部添加以下代码: ```javascript import JSEncrypt from "jsencrypt"; ``` 3. 将JSEncrypt对象配置为Vue的全局变量,可以在main.js文件添加以下代码: ```javascript Vue.prototype.$jsEncrypt = JSEncrypt; ``` 4. 在需要使用RSA加密的地方,可以通过调用后台接口获取公钥,并使用JSEncrypt对象对密码进行加密。以下是一个示例代码: ```javascript // 获取公钥的方法 export function getPubKey() { // 调用后台接口获取公钥的逻辑 } // 在需要加密的地方调用getPubKey方法获取公钥,并使用JSEncrypt对象对密码进行加密 getPubKey().then(publicKey => { let encryptor = new JSEncrypt(); encryptor.setPublicKey(publicKey); let rsaPassWord = encryptor.encrypt(password); // 对加密后的密码进行后续操作 }); ``` 请注意,以上代码仅为示例,具体的实现方式可能会根据你的项目需求而有所不同。你需要根据实际情况修改代码的接口地址和逻辑。 #### 引用[.reference_title] - *1* *3* [Vue项目rsa加密](https://blog.csdn.net/weixin_62946736/article/details/122886177)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [vuersa加密](https://blog.csdn.net/weixin_44271874/article/details/123586752)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值