encryptjs 加密 前端数据(vue 使用 RSA加密、java 后端 RSA解密)
生活随笔
收集整理的這篇文章主要介紹了
encryptjs 加密 前端数据(vue 使用 RSA加密、java 后端 RSA解密)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.index.html引入?<script src="./static/js/jsencrypt.min.js"></script>
或者?npm i jsencrypt -S?
第一種引入方式直接用
<template><div class="rsa_box"><el-row v-if="!baseUrl"><el-button @click="testRsa">測試加密按鈕</el-button></el-row><iframe :src="baseUrl" frameborder="0" width="100%" :height="100px"></iframe></div> </template><script>import { rsaTest } from '@/http/api'export default {data() {return {baseUrl: ''}},methods: {testRsa() {var encrypt = new JSEncrypt();rsaTest().then(res => {encrypt.setPublicKey(res.data.publicKey);encrypt.setPrivateKey(res.data.privateKey);let userName = encrypt.encrypt(res.data.userName);let userInfo = encrypt.encrypt(res.data.userInfo)let code = res.data.code;let href = res.data.startUrl + "?userName=" + userName + "&userInfo=" + userInfo + "&code=" + code "href = href.replace(/\+/g, '%2B')//方法一:統一換成轉義字符 后臺在換回來this.baseUrl = href})}}} </script><style lang="scss" scoped></style>如果是npm 的在main.js
import JsEncrypt from 'jsencrypt' Vue.prototype.$jsEncrypt = JsEncrypt注意(url和token的問題):就是得出來的 String 是帶 '+' 號的,但是這個加號在傳給后臺的時候實際是空格,前端生成的?token 是帶 + 號生成的,但后臺在生成?token 的時候 空格 ,導致兩邊的?token 對應不上
解決方案:在前端把串里的加換成空格 ,再去生成 token.replace(/\+/g,' ');??
?
轉載于:https://www.cnblogs.com/lhl66/p/10271388.html
總結
以上是生活随笔為你收集整理的encryptjs 加密 前端数据(vue 使用 RSA加密、java 后端 RSA解密)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开元股份是做什么的
- 下一篇: nginx https反向代理tomca