'use strict';const crypto = require('crypto');/**
* @util 加密场斑、解密工具類
*/class CryptoUtil {? ? /**
? ? * 解密
? ? * @param dataStr {string}
? ? * @param key {string}
? ? * @param iv {string}
? ? * @return {string}
? ? */? ?
static Decrypt(dataStr, key, iv) {?
? ? let cipherChunks = [];? ? ?
? ? let decipher = crypto.createDecipheriv('aes-128-cbc', key, iv);? ?
? ? decipher.setAutoPadding(true);? ?
? ? cipherChunks.push(decipher.update(dataStr, 'base64', 'utf8'));
? ? cipherChunks.push(decipher.final('utf8'));? ?
? ? return cipherChunks.join('');? ?
}?
? /**
? ? * 加密
? ? * @param dataStr {string}
? ? * @param key {string}
? ? * @param iv {string}
? ? * @return {string}
? ? */?
static Encrypt(dataStr, key, iv) {? ?
? ? let cipherChunks = [];?
? ? let cipher = crypto.createCipheriv('aes-128-cbc', key, iv);? ? ?
? ? cipher.setAutoPadding(true);? ?
? ? cipherChunks.push(cipher.update(dataStr, 'utf8', 'base64'));? ? ?
? ? cipherChunks.push(cipher.final('base64'));? ? ?
? ? return cipherChunks.join('');?
? }}
module.exports = CryptoUtil;