电脑系统城官网 - 一键重装系统-Win7旗舰版/win10 64位系统下载,唯一官网:www.pcxitongcheng.com!

当前位置:首页 > 网络编程 > JavaScript > 详细页面

Vue使用JSEncrypt实现rsa加密及挂载方法

时间:2020-02-07来源:系统城作者:电脑系统城

挂载全局方法

使用jsencrypt进行rsa加密

原文链接:Js参数RSA加密传输,jsencrypt.js的使用 *
https://www.jb51.net/article/179813.htm
(原文处有一个地方不对,不需要转换+,rsa已经做过base64转码了)


 
  1. 1.安装依赖 npm install jsencrypt
  2. 2.在main.js引入 import { JSEncrypt } from 'jsencrypt'
  3. 3.挂载全局方法
  4. //JSEncrypt加密方法
  5. Vue.prototype.$encryptedData = function(publicKey, data) {
  6. //new一个对象
  7. let encrypt = new JSEncrypt()
  8. //设置公钥
  9. encrypt.setPublicKey(publicKey)
  10. //password是要加密的数据,此处不用注意+号,因为rsa自己本身已经base64转码了,不存在+,全部是二进制数据
  11. let result = encrypt.encrypt(password)
  12. return result
  13. }
  14. //JSEncrypt解密方法
  15. Vue.prototype.$decryptData = function(privateKey, data) {
  16. // 新建JSEncrypt对象
  17. let decrypt = new JSEncrypt()
  18. // 设置私钥
  19. decrypt.setPrivateKey(privateKey)
  20. // 解密数据
  21. let result = decrypt.decrypt(secretWord)
  22. return result
  23. }

全局混合

使用yarn安装至Vue项目

yarn add jsencrypt --dep

或者使用npm

npm install jsencrypt --dep

混入


 
  1. import { JSEncrypt } from 'jsencrypt'
  2. export const RsaMixin = {
  3. methods: {
  4. // 加密
  5. encryptedData(publicKey, data) {
  6. // 新建JSEncrypt对象
  7. let encryptor = new JSEncrypt();
  8. // 设置公钥
  9. encryptor.setPublicKey(publicKey);
  10. // 加密数据
  11. return encryptor.encrypt(data);
  12. },
  13. // 解密
  14. decryptData(privateKey,data){
  15. // 新建JSEncrypt对象
  16. let decrypt= new JSEncrypt();
  17. // 设置私钥
  18. decrypt.setPrivateKey(privateKey);
  19. // 解密数据
  20. decrypt.decrypt(secretWord);
  21. }
  22. }
  23. }

引入


 
  1. <script>
  2. import InvoiceRecordModal from './modules/InvoiceRecordModal'
  3. import { RsaMixin } from '@/mixins/RsaMixin'
  4.  
  5. export default {
  6. name: "InvoiceRecordList",
  7. //此时可以直接调用混入的方法
  8. mixins:[RsaMixin],
  9. data(){},
  10. computed:{}
  11. }
  12. </script>

封装为单VUE文件中的方法

使用yarn安装至Vue项目

yarn add jsencrypt --dep

或者使用npm

npm install jsencrypt --dep

引入jsencrypt

import { JSEncrypt } from 'jsencrypt'

方法


 
  1. methods: {
  2. // 加密
  3. encryptedData(publicKey, data) {
  4. // 新建JSEncrypt对象
  5. let encryptor = new JSEncrypt();
  6. // 设置公钥
  7. encryptor.setPublicKey(publicKey);
  8. // 加密数据
  9. return encryptor.encrypt(data);
  10. },
  11. // 解密
  12. decryptData(privateKey,data){
  13. // 新建JSEncrypt对象
  14. let decrypt= new JSEncrypt();
  15. // 设置私钥
  16. decrypt.setPrivateKey(privateKey);
  17. // 解密数据
  18. decrypt.decrypt(secretWord);
  19. }
  20. }

总结

以上所述是小编给大家介绍的Vue使用JSEncrypt实现rsa加密及挂载方法,希望对大家有所帮助!

分享到:

相关信息

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载

公众号