keys/TEST.md
2026-05-10 15:53:01 +08:00

1.2 KiB

Test Report: @go/keys

测试环境

  • 操作系统: darwin (macOS)
  • 架构: amd64
  • Go 版本: go 1.25.0+
  • CPU: Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz

单元测试结果

运行命令: go test -v ./lib

测试用例 状态 描述
TestKeyLifecycle PASS 验证密钥创建、加载及全算法加解密闭环
TestKeyErrors PASS 验证文件缺失、格式损坏、校验位错误及非法算法处理
TestEmptyData PASS 验证零长度数据的加解密处理
TestMakeCode PASS 验证 Go/PHP/Java 三种语言的集成代码生成

性能基准测试 (Benchmark)

数据规模: 1KB 负载

加密性能 (Encryption)

算法 性能 (ns/op)
AES-GCM (默认) 5365
AES-CBC 5949
SM4-GCM 6795
SM4-CBC 14249

解密性能 (Decryption)

算法 性能 (ns/op)
AES-GCM (默认) 4801
AES-CBC 5381
SM4-GCM 7087
SM4-CBC 5751

安全性验证

  • 内存锁定: 导出代码集成 safe.LockMemory
  • 自动擦除: 敏感明文在使用后立即调用 Close() 擦除。
  • 交换分区防护: 通过 mlock 防止密钥泄露至磁盘。