https://github.com/erich-9/CryptographicHashFunctions.jl
Fast cryptographic hash functions for Julia
https://github.com/erich-9/CryptographicHashFunctions.jl
cryptographic-hash-functions cryptography hash-functions julia
Last synced: 2 months ago
JSON representation
Fast cryptographic hash functions for Julia
- Host: GitHub
- URL: https://github.com/erich-9/CryptographicHashFunctions.jl
- Owner: erich-9
- License: mit
- Created: 2024-04-20T20:55:18.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-08-12T05:15:11.000Z (10 months ago)
- Last Synced: 2025-10-21T11:56:37.906Z (8 months ago)
- Topics: cryptographic-hash-functions, cryptography, hash-functions, julia
- Language: Julia
- Homepage: https://erich-9.github.io/CryptographicHashFunctions.jl/
- Size: 318 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-julia-security - CryptographicHashFunctions.jl - Fast cryptographic hash functions for Julia. (Cryptography / Hash Functions)
README
# CryptographicHashFunctions.jl
*Fast cryptographic hash functions for Julia.*
[](LICENSE)
[](https://erich-9.github.io/CryptographicHashFunctions.jl/stable)
[](https://erich-9.github.io/CryptographicHashFunctions.jl/dev)
[](https://github.com/erich-9/CryptographicHashFunctions.jl/actions/workflows/CI.yml)
[](https://github.com/JuliaTesting/Aqua.jl)
[](https://codecov.io/github/erich-9/CryptographicHashFunctions.jl)
This package provides fast implementations of many [cryptographic hash functions](https://en.wikipedia.org/wiki/Cryptographic_hash_function) for use in Julia.
Its high-level interface is designed to match the one of Julia's standard library package [SHA](https://docs.julialang.org/en/v1/stdlib/SHA/).
In particular, it can effortlessly replace [SHA.jl](https://github.com/JuliaCrypto/SHA.jl) where performance is relevant.
## Algorithms
The supported hash functions and [extendable-output functions](https://en.wikipedia.org/wiki/Extendable-output_function) (XOF) include:
- [SHA-1](https://en.wikipedia.org/wiki/SHA-1)
- [SHA-2 family](https://en.wikipedia.org/wiki/SHA-2)
- [SHA-3 family](https://en.wikipedia.org/wiki/SHA-3)
- [MD2](https://en.wikipedia.org/wiki/MD2_(hash_function))
- [MD4](https://en.wikipedia.org/wiki/MD4)
- [MD5](https://en.wikipedia.org/wiki/MD5)
- [RIPEMD-160](https://en.wikipedia.org/wiki/RIPEMD)
- [BLAKE2 family](https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2)
- [GOST family](https://en.wikipedia.org/wiki/GOST_(hash_function))
- [SM3](https://en.wikipedia.org/wiki/SM3_(hash_function))
- [STRIBOG family](https://en.wikipedia.org/wiki/Streebog)
- [TIGER family](https://en.wikipedia.org/wiki/Tiger_(hash_function))
- [WHIRLPOOL](https://en.wikipedia.org/wiki/Whirlpool_(hash_function))
## Providers
The algorithms are provided by binding to the following cryptographic libraries:
- [OpenSSL](https://www.openssl.org/) via [OpenSSL_jll.jl](https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl)
- [Libgcrypt](https://gnupg.org/software/libgcrypt/index.html) via [Libgcrypt_jll.jl](https://github.com/JuliaBinaryWrappers/Libgcrypt_jll.jl)
- [Nettle](https://www.lysator.liu.se/%7Enisse/nettle/) via [Nettle_jll.jl](https://github.com/JuliaBinaryWrappers/Nettle_jll.jl)
- [libsodium](https://doc.libsodium.org/) via [libsodium_jll.jl](https://github.com/JuliaBinaryWrappers/libsodium_jll.jl)