foreign-admin-ui/src/utils/crypto/index.ts

33 lines
990 B
TypeScript

import CryptoJS from 'crypto-js'
/**
* MD5 加密函数
* @param str 要加密的字符串
* @returns 加密后的 32 位小写字符串
*/
export const md5Encrypt = (str: string): string => {
if (!str) return ''
// 核心:调用 crypto-js 的 MD5 方法,转换为小写字符串
return CryptoJS.MD5(str).toString(CryptoJS.enc.Hex).toLowerCase()
}
/**
* MD5 加密(大写)
* @param str 要加密的字符串
* @returns 加密后的 32 位大写字符串
*/
// export const md5EncryptUpper = (str: string): string => {
// return md5Encrypt(str).toUpperCase()
// }
/**
* MD5 加盐加密(提升安全性)
* @param str 要加密的字符串
* @param salt 盐值(自定义,如项目唯一标识)
* @returns 加盐后的 MD5 字符串
*/
// export const md5EncryptWithSalt = (str: string, salt: string = 'your-custom-salt'): string => {
// // 盐值拼接方式可自定义,如 str + salt 或 salt + str
// return md5Encrypt(`${str}${salt}`)
// }