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) }