UNPKG

cyber-web-ui

Version:
70 lines (66 loc) 2.24 kB
"use strict"; 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; }