1.2 KiB
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防止密钥泄露至磁盘。