UNPKG

cyber-web-ui

Version:
61 lines (57 loc) 1.82 kB
import CryptoJS from "crypto-js"; /** * @function encryptToBase64 base64加密方法 * @param {String} str 明文字符串 * @returns {String} */ export var encryptToBase64 = function encryptToBase64(str) { return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(str)); }; /** * @function base64Decrypt base64解密方法 * @param {String} str 加密字符串 * @returns {String} */ export function base64Decrypt(str) { return CryptoJS.enc.Base64.parse(str).toString(CryptoJS.enc.Utf8); } /** * @function encryption 密码加密 * @param {{ data: Object, param: String[], key: String }} params data:表单数据 param:要加密的key key:加密key * @returns {Object} */ export function encryption(params) { var data = params.data, param = params.param, key = params.key; var result = JSON.parse(JSON.stringify(data)); key = CryptoJS.enc.Latin1.parse(key); param.forEach(function (ele) { var data = result[ele]; // 加密 var encrypted = CryptoJS.AES.encrypt(data, key, { iv: key, mode: CryptoJS.mode.CFB, padding: CryptoJS.pad.NoPadding }); result[ele] = encrypted.toString(); }); return result; } /** * @function generateRandomCode 生成随机码 * @description 随机生成包含小写字母和数字的随机码 * @param {Number} number 生成随机码的个数,默认为 10 * @returns {String} */ export 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; }