Files
2026-09-24 16:25:22 +08:00

91 lines
3.4 KiB
Plaintext

import { x_xCryptoS,X_RSARANDOMKEY } from "x_crypto_s";
import { RSARANDOMKEY } from "../interface.uts";
export function base64Encode(input : string) : string {
return x_xCryptoS.base64Encode(input)
}
export function base64Decode(input : string) : string {
return x_xCryptoS.base64Decode(input)
}
export function md5(input : string) : string {
return x_xCryptoS.md5(input)
}
export function sha256(str : string) : string {
return x_xCryptoS.sha256(str)
}
export function sha512(str : string) : string {
return x_xCryptoS.sha512(str)
}
export function hmacSha256(key : string, data : string) : string {
return x_xCryptoS.hmacSha256(key,data)
}
export function hmacSha512(key : string, data : string) : string {
return x_xCryptoS.hmacSha512(key,data)
}
export function sha1(str : string) : string {
return x_xCryptoS.sha1(str)
}
/**
* Aes
* @param {string} key utf8字符串它会根据keySize来截取和补足0
* @param {string} data 待加密的字符
* @param {string} mode ECB,CBC
* @param {string} iv 固定是16位,不足会补齐0
* @param {string} keySize 对key的加密补位,也就是加密位数16为128,24为192,32为256
*/
export function aesEncrypt(key : string, data : string, mode : string = "ECB", iv : string | null = null, keySize : number | null = 16) : string {
return x_xCryptoS.aesEncrypt(key, data, mode, iv,keySize)
}
/**
* DAes
* @param {string} key utf8字符串它会根据keySize来截取和补足0
* @param {string} data 加密后的base64的字符
* @param {string} mode ECB,CBC
* @param {string} iv 固定是16位,不足会补齐0
* @param {string} keySize 对key的加密补位,也就是加密位数16为128,24为192,32为256
*/
export function aesDecrypt(key : string, data : string, mode : string = "ECB", iv : string | null = null, keySize : number | null = 16) : string {
return x_xCryptoS.aesDecrypt(key, data, mode, iv,keySize)
}
export function aesEncrypt2(key : Uint8Array, data : Uint8Array, mode : string = "ECB", iv : Uint8Array | null = null, keySize : number | null = 16) : Uint8Array {
return x_xCryptoS.aesEncrypt2(key, data, mode, iv,keySize)
}
export function aesDecrypt2(key : Uint8Array, data : Uint8Array, mode : string = "ECB", iv : Uint8Array | null = null, keySize : number | null = 16) : Uint8Array {
return x_xCryptoS.aesDecrypt2(key, data, mode, iv,keySize)
}
export function desEncrypt(key : string, data : string, mode : string = "ECB", iv : string | null = null) : string {
return x_xCryptoS.desEncrypt(key, data, mode, iv)
}
export function desDecrypt(key : string, data : string, mode : string = "ECB", iv : string | null = null) : string {
return x_xCryptoS.desDecrypt(key, data, mode, iv)
}
export function generateRSAKeyPair(keySize : number = 2048) : RSARANDOMKEY {
const result:X_RSARANDOMKEY = x_xCryptoS.generateRSAKeyPair(keySize)
return {
publicKey: result.publicKey,
privateKey: result.privateKey
} as RSARANDOMKEY
}
export function rsaEncrypt(publicKey : string, data : string,keySize : number = 2048) : string {
return x_xCryptoS.rsaEncrypt(publicKey, data,keySize)
}
export function rsaDecrypt(privateKey : string, data : string,keySize : number = 2048) : string {
return x_xCryptoS.rsaDecrypt(privateKey, data,keySize)
}
//返回的是hex字符串
export function rc4Encrypt(key : string, data : string) : string {
return x_xCryptoS.rc4Encrypt(key, data)
}
// key是hex字符
export function rc4Decrypt(key : string, data : string) : string {
return x_xCryptoS.rc4Decrypt(key, data)
}