SHA

    每个导出函数(SHA-1, SHA-2 224, 256, 384, 512, 以及 SHA-3 224, 256, 384, 512 函数在本文撰写时都已实现)都可以接受 , ByteStringIO 对象。这使计算文件校验和变得轻而易举:

    1. shell> cat /tmp/test.txt
    2. test
    3. julia> using SHA
    4. julia> open("/tmp/test.txt") do f
    5. sha2_256(f)
    6. end
    7. 0x9f
    8. 0x86
    9. 0x81
    10. 0x88
    11. 0x4c
    12. 0x7d
    13. 0x5d
    14. 0x6c
    15. 0x15
    16. 0xb0
    17. 0xf0
    18. 0x0a

    由于 sha256 通常指的是 sha2_256,因此提供了函数名简写,将 shaxxx() 函数调用映射到 sha2_xxx()。SHA-3 不存在这样的俗称,用户必须使用完整的函数名 sha3_xxx()

    请注意,在本文撰写时,SHA-3 代码还未进行优化,因此会比 SHA-2 慢大约一个数量级。