3 releases
Uses old Rust 2015
0.1.2 | Apr 12, 2016 |
---|---|
0.1.1 | Apr 11, 2016 |
0.1.0 | Apr 8, 2016 |
#20 in #sha-512
163 downloads per month
Used in 2 crates
2.5MB
2.5K
SLoC
Octavo
Highly modular & configurable hash & crypto library written in pure Rust.
Installation
[dependencies]
octavo = { git = "https://github.com/libOctavo/octavo" }
WARNING!!! Octavo is in very early stage of development. There is a hell lot of issues and vulnerabilities to enormous kind of attacks! Do not use it in production code (yet)!
Contributing
You can help with this project in 3 ways:
- Help me code this up! Just fork, create branch, code & pull-request. Yay!
- Audit code or use it. If you find a bug just file an issue, it also is a great help.
- Support us at Gratipay.
Full disclosure
If you find security bugs, contact me via mail lukasz@niemier.pl using my PGP key.
Licence
Check LICENSE file.
lib.rs
:
Cryptographic hash functions primitives
Via Wikipedia:
The ideal cryptographic hash function has four main properties:
- it is easy to compute the hash value for any given message
- it is infeasible to generate a message from its hash
- it is infeasible to modify a message without changing the hash
- it is infeasible to find two different messages with the same hash.
Example
Calculate SHA-512 sum:
use octavo_digest::Digest;
use octavo_digest::sha2::Sha512;
let mut result = vec![0; Sha512::output_bytes()];
let mut sha = Sha512::default();
sha.update(data);
sha.result(&mut result);
for byte in result {
print!("{:2x}", byte);
}
println!(" {}", data);