vue 用法  

npm install crypto-js

 新建一个jiami.js

然后main.js 引入 

import cryptoJs from './utils/jiami'

 声明一下

Vue.prototype.$jiami = function (word) {
  return cryptoJs.jiami(word)
}

Vue.prototype.$jiemi = function (word) {
  return cryptoJs.jiemi(word)
}

 jiami.js 的代码

'use strict'

import cryptoJs from 'crypto-js'
let keyOne = '秘钥自己写一个'   // 秘钥

export default {
  // 加密函數
  jiami (word) {
    let key = cryptoJs.enc.Hex.parse(keyOne)
    let enc = ''
    if (typeof word === 'string') {
        enc = cryptoJs.AES.encrypt(word, key, {
        // iv: iv
        mode: cryptoJs.mode.ECB,
        padding: cryptoJs.pad.Pkcs7
      })
    } else if (typeof word === 'object') {
      let data = JSON.stringify(word)
      enc = cryptoJs.AES.encrypt(data, key, {
        // iv: iv
        mode: cryptoJs.mode.ECB,
        padding: cryptoJs.pad.Pkcs7
      })
    }
    let encResult = enc.ciphertext.toString()
    return encResult
  },
  // 解密函數
  jiemi (word) {
    let re='cryptoJs_error'
    try{
      let key = cryptoJs.enc.Hex.parse(keyOne)
      let dec = cryptoJs.AES.decrypt(cryptoJs.format.Hex.parse(word), key, {
        // vi: vi
        mode: cryptoJs.mode.ECB,
        padding: cryptoJs.pad.Pkcs7
      })
      let decData = cryptoJs.enc.Utf8.stringify(dec)
      re= decData
    }catch (e) {
      //console.log('解密失败');
      re= 'cryptoJs_error'
    }
    if(re==''){
      re= 'cryptoJs_error'
    }
    return re;

  }
}
// 使用

this.$jiami(word)

this.$jiemi(encWord)

 

普通html页面 js 引入

<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<meta http-equiv="X-UA-Compatible" content="ie=edge">
		<title></title>
		<script src="crypto-js.js"></script>
		<script>
			// 要加密的文字
			var token =
				"123456"
			// 秘钥
			var key = "秘钥自己写一个"
			var enKey=CryptoJS.enc.Hex.parse(key)
			var encString = CryptoJS.AES.encrypt(token, enKey, {
				mode: CryptoJS.mode.ECB,
				padding: CryptoJS.pad.Pkcs7
			});
			
			// 加密后
			var word=encString.ciphertext.toString();
			console.log(word)

			var deKey = CryptoJS.enc.Hex.parse(key);
			var dec = CryptoJS.AES.decrypt(CryptoJS.format.Hex.parse(word), deKey, {
				mode: CryptoJS.mode.ECB,
				padding: CryptoJS.pad.Pkcs7
			})
			
			// 解密后
		    var deToken=CryptoJS.enc.Utf8.stringify(dec);
			console.log(deToken)
		</script>
	</head>
	<body>

	</body>
</html>

 crypto-js.js 自己下载

 

 

Logo

前往低代码交流专区

更多推荐