/**
 * 将原始的二进制数据转换为 Hex String
 * @param bf 待转换的原始数据
 * @param upper 是否需要转换为大写
 * @returns
 */
export declare function bufferToHex(bf: ArrayBuffer | Uint8Array, upper?: boolean): string;
/**
 * SHA 哈希算法
 * @param message     待进行 hash 的数据
 * @param upper       是否转换为大写, 默认为: false
 * @param algorithm   hash算法, 支持: SHA-1、SHA-256、SHA-384、SHA-512; 默认为: SHA-256
 * @returns
 */
export declare function sha(message: string, upper?: boolean, algorithm?: string): Promise<string>;
/**
 * 哈希算法
 * @param message     待进行 hash 的数据
 * @param upper       是否转换为大写, 默认为: false
 * @param algorithm   hash算法, 支持: SHA-1、SHA-256、SHA-384、SHA-512; 默认为: SHA-256
 * @returns
 */
export declare function hash(message: string, upper?: boolean, algorithm?: string): Promise<string>;
type HMACAlgorithm = "SHA-256" | "SHA-512";
/**
 * 使用 HMAC 算法计算消息的哈希值
 * @param message - 需要计算哈希的消息字符串
 * @param secret - 用于生成 HMAC 的密钥
 * @param algorithm - HMAC 使用的哈希算法,默认为 "SHA-256"
 * @param upper - 是否将结果转换为大写,默认为 false
 * @returns 返回十六进制格式的 HMAC 哈希值
 */
export declare function hmacHash(message: string, secret: string, algorithm?: HMACAlgorithm, upper?: boolean): Promise<string>;
/** 返回结果类似 */
type AlgorithmResType = "hex" | "hexUpper" | "base64" | "raw";
/**
 * AES 加密
 * @param message 待加密的数据
 * @param key 加解密密钥
 * @param encode 加密后的数据转换的形式, hex - 转换为16进制字符串, hexUpper - 转换为16进制且大写, base64 - 转换为 base64 形式
 * @param iv 加解密向量
 * @returns [加密数据,向量]
 */
export declare function aesEncrypt(message: string, key: string, encode?: AlgorithmResType, iv?: null | Uint8Array | string): Promise<{
    ciphertext: string | ArrayBuffer;
    iv: string;
    key: string;
}>;
/**
 * AES 解密
 * @param message 加密后的数据
 * @param key     解密密钥
 * @param iv      向量
 * @param encode  加密后数据的形式: hex | base64
 * @returns
 */
export declare function aesDecrypt(message: Uint8Array | string, key: string, iv: string, encode?: AlgorithmResType): Promise<string>;
/**
 * RSA 加密
 * @param key     公钥
 * @param message 待加密数据
 * @param encode  返回类型
 * @returns
 */
export declare function rsaEncrypt(message: string, publicKey: string, encode?: AlgorithmResType): Promise<string | ArrayBuffer>;
/**
 * RSA 解密
 * @param key     私钥, 根据私钥解密
 * @param message 加密后的数据
 * @param encode  加密后的数据形式
 * @returns
 */
export declare function rsaDecrypt(privateKey: string, message: Uint8Array | string, encode?: AlgorithmResType): Promise<string>;
export {};
