cyber-web-ui
Version:
spring-cyber前端ui框架
70 lines (66 loc) • 2.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.base64Decrypt = base64Decrypt;
exports.encryptToBase64 = void 0;
exports.encryption = encryption;
exports.generateRandomCode = generateRandomCode;
var _cryptoJs = _interopRequireDefault(require("crypto-js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* @function encryptToBase64 base64加密方法
* @param {String} str 明文字符串
* @returns {String}
*/
var encryptToBase64 = exports.encryptToBase64 = function encryptToBase64(str) {
return _cryptoJs.default.enc.Base64.stringify(_cryptoJs.default.enc.Utf8.parse(str));
};
/**
* @function base64Decrypt base64解密方法
* @param {String} str 加密字符串
* @returns {String}
*/
function base64Decrypt(str) {
return _cryptoJs.default.enc.Base64.parse(str).toString(_cryptoJs.default.enc.Utf8);
}
/**
* @function encryption 密码加密
* @param {{ data: Object, param: String[], key: String }} params data:表单数据 param:要加密的key key:加密key
* @returns {Object}
*/
function encryption(params) {
var data = params.data,
param = params.param,
key = params.key;
var result = JSON.parse(JSON.stringify(data));
key = _cryptoJs.default.enc.Latin1.parse(key);
param.forEach(function (ele) {
var data = result[ele];
// 加密
var encrypted = _cryptoJs.default.AES.encrypt(data, key, {
iv: key,
mode: _cryptoJs.default.mode.CFB,
padding: _cryptoJs.default.pad.NoPadding
});
result[ele] = encrypted.toString();
});
return result;
}
/**
* @function generateRandomCode 生成随机码
* @description 随机生成包含小写字母和数字的随机码
* @param {Number} number 生成随机码的个数,默认为 10
* @returns {String}
*/
function generateRandomCode() {
var number = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
var chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
var charCount = chars.length;
var randomString1 = '';
for (var i = 0; i < number; i++) {
var randomIndex = Math.floor(Math.random() * charCount);
randomString1 += chars[randomIndex];
}
return randomString1;
}