# soft_SHA **Repository Path**: Cation_git/soft_sha ## Basic Information - **Project Name**: soft_SHA - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-26 - **Last Updated**: 2026-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # softSHA # win环境下自动化测试指令 ```bat gcc -shared -o libsha256.dll .\soft_SHA256.c ``` ```bat python -u "test_sha256.py" ``` 或者使用自动单元测试 ``` .\unit_testing.bat ``` # 输出测试结果 ============================================================ 功能测试 - 已知向量 ============================================================ 测试: "b''" 期望: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 C(once): e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ✓ C(ctx): e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ✓ hashlib: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ✓ 测试: "b'abc'" 期望: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad C(once): ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad ✓ C(ctx): ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad ✓ hashlib: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad ✓ 测试: len=56 (前20字节: 6162636462636465636465666465666765666768...) 期望: 248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1 C(once): 248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1 ✓ C(ctx): 248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1 ✓ hashlib: 248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1 ✓ 测试: len=112 (前20字节: 6162636465666768626364656667686963646566...) 期望: cf5b16a778af8380036ce59e7b0492370b249b11e8f07a51afac45037afee9d1 C(once): cf5b16a778af8380036ce59e7b0492370b249b11e8f07a51afac45037afee9d1 ✓ C(ctx): cf5b16a778af8380036ce59e7b0492370b249b11e8f07a51afac45037afee9d1 ✓ hashlib: cf5b16a778af8380036ce59e7b0492370b249b11e8f07a51afac45037afee9d1 ✓ 测试: len=1000000 (前20字节: 6161616161616161616161616161616161616161...) 期望: cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0 C(once): cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0 ✓ C(ctx): cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0 ✓ hashlib: cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0 ✓ 已知向量通过: 5/5 ============================================================ 功能测试 - 随机数据对比 ============================================================ 已测试 500/2000 组... 已测试 1000/2000 组... 已测试 1500/2000 组... 已测试 2000/2000 组... 一次性接口失败: 0/2000 上下文接口失败: 0/2000 ============================================================ 边界测试 - 分块序列 ============================================================ [PASS] 分块序列 0: [13, 27, 5, 100, 111] [PASS] 分块序列 1: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [PASS] 分块序列 2: [64, 64, 64, 64] [PASS] 分块序列 3: [63, 63, 63, 67] [PASS] 分块序列 4: [200, 56] [PASS] 分块序列 5: [255, 1] [PASS] 分块序列 6: [256] [PASS] 分块序列 7: [10, 20, 30, 40, 50, 60, 46] 分块序列测试通过: 8/8 ✅ 所有功能测试通过 ============================================================ 性能测试 ============================================================ 数据大小 C(once) ms C(ctx) ms hashlib ms C(once) MB/s -------------------------------------------------------------------------------- 64 0.004 0.017 0.001 13.77 256 0.008 0.023 0.001 29.67 1024 0.024 0.042 0.002 41.40 4096 0.085 0.111 0.003 46.19 16384 0.329 0.360 0.009 47.56 65536 1.304 1.341 0.032 47.92 1048576 21.061 21.060 0.496 47.48 ============================================================ 压力测试 ============================================================ 迭代次数: 5000, 最大数据长度: 65536 字节 已完成 1000/5000, 耗时 3.2s, 错误数 0 已完成 2000/5000, 耗时 6.3s, 错误数 0 已完成 3000/5000, 耗时 9.4s, 错误数 0 已完成 4000/5000, 耗时 12.5s, 错误数 0 已完成 5000/5000, 耗时 15.6s, 错误数 0 压力测试完成: 总耗时 15.65s, 总错误数 0 ✅ 稳定性良好,无错误 所有测试完成!