aardio 文档

aardio 范例: 国密 SM4 算法

国密 SM2

//国密 SM4 算法
//国密 SM2: https://www.aardio.com/zh-cn/doc/example/Text/Crypt/sm2.html

import console;
import crypt.sm4;

// 创建 SM4 实例
var sm4gcm = crypt.sm4(
    "GCM", //密码模式:可指定为 "ECB","CBC","CTR","GCM" 之一。
    "0123456789ABCDEF0123456789ABCDEF", //密码:16 字节字符串或 32 位 HEX 编码,兼容 buffer 类型。
    "000000000000000000000001", // IV / Nonce, 12字节字符串或 24 位 HEX 编码,兼容 buffer 类型。
    ,"AssociatedText" //可选的附加认证数据(仅 GCM 模式有这个参数)
);

// 加密
var plaintext = "Hello, SM4!";
var cipherData = sm4gcm.encrypt(plaintext);
console.hex(cipherData);//加密结果

// 解密
var decrypted = sm4gcm.decrypt(cipherData);
console.log("解密结果:", decrypted);

var encrypted64 = sm4gcm.encryptBase64(plaintext);
console.log("Base64 密文:", encrypted64);

var decrypted64 = sm4gcm.decryptBase64(encrypted64);
console.log("Base64 解密:", decrypted64);

console.pause();
Markdown 格式