赞
踩
npm install --save sm-crypto
新建js文件 导出加解密方法 直接调用即可
- //sm2加密
- export function doEncrypt(msgString) {
- let msg = msgString
- if (typeof msgString !== 'string') {
- msg = JSON.stringify(msgString)
- }
- let sm2 = require('sm-crypto').sm2
- let Base64 = require('js-base64').Base64
- // 1 - C1C3C2; 0 - C1C2C3; 默认为1
- let cipherMode = 1
- let publicKey2 = '你的公钥'
- // 加密结果
- let encryptData = sm2.doEncrypt(msg, publicKey2, cipherMode)
- //Base64编码 自行选择是否使用
- //let baseEncode = Base64.encode(encryptData)
- // 加密后的密文前需要添加04,后端才能正常解密 (不添加04,后端处理也可以)
- let encrypt = '04' + encryptData
- return encrypt
- }
-
- // 解密
- export function doDecryptStr(enStr) {
- let msg = enStr
- if (typeof enStr !== 'string') {
- msg = JSON.stringify(enStr)
- }
- let sm2 = require('sm-crypto').sm2
- // 1 - C1C3C2; 0 - C1C2C3; 默认为1
- let cipherMode = 1
- let privateKey1 = '你的私钥'
- let enval = enStr.substring(2)
- // 解密结果
- let doDecrypt = sm2.doDecrypt(enval , privateKey1, cipherMode)
- // 解密后类型转换
- let objData = JSON.parse(doDecrypt)
- return objData
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。