33 lines
990 B
TypeScript
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}`)
|
|
// }
|