md5加密登录密码vue
首先下载安装,常用在登录密码的提交
cnpm i js-md5 -D
引入
import md5 from 'js-md5'
使用
const password = md5(需要加密的内容)
可以加在原型上方便使用
import md5 from 'js-md5' //引入
Vue.prototype.$md5 = md5;//添加
使用
// An highlighted block
var foo = 'bar';
使用
this.$md5('需要加密的内容')
国密加密
这边因为需要用到了国密加密,因为有现成的模块,直接使用即可 https://www.npmjs.com/package/gm-crypto
安装:
npm install gm-crypto
sm3
const { SM3 } = require('gm-crypto')
console.log(SM3.digest('abc'))
console.log(SM3.digest('YWJj', 'base64'))
console.log(SM3.digest('616263', 'hex', 'base64'))
SM4
const { SM4 } = require('gm-crypto')
const key = '0123456789abcdeffedcba9876543210' // 这里的key必须为32位的
const originalData = 'SM4 国标对称加密' //需要加密的内容
/**
* Block cipher modes:
* - ECB: electronic codebook
* - CBC: cipher block chaining
*/
let encryptedData, decryptedData
// ECB
encryptedData = SM4.encrypt(originalData, key, {
inputEncoding: 'utf8',
outputEncoding: 'base64'
})
decryptedData = SM4.decrypt(encryptedData, key, {
inputEncoding: 'base64',
outputEncoding: 'utf8'
})
// CBC
const iv = '0123456789abcdeffedcba9876543210' // Initialization vector(any string of 32 hexadecimal digits)
encryptedData = SM4.encrypt(originalData, key, {
iv,
mode: SM2.constants.CBC,
inputEncoding: 'utf8',
outputEncoding: 'hex'
})
decryptedData = SM4.decrypt(encryptedData, key, {
iv,
mode: SM2.constants.CBC,
inputEncoding: 'hex',
outputEncoding: 'utf8'
})