Crates.io | easy-hasher |
lib.rs | easy-hasher |
version | 2.2.1 |
source | src |
created_at | 2020-05-01 14:08:56.507266 |
updated_at | 2020-07-12 14:20:00.984158 |
description | Easy hashing library |
homepage | |
repository | https://github.com/mrinfmag/easy-hasher |
max_upload_size | |
id | 236237 |
size | 18,390 |
Hashing functions (all examples using SHA256):
sha256(&input)
1file_sha256(&input)
1raw_sha256(input.clone())
2SHAKE128 and SHAKE256 are coming soon!
String hash:
extern crate easy_hasher;
use easy_hasher::easy_hasher::*;
fn main() {
let string = "example string".to_string();
let hash = sha256(&string);
let string_hash = hash.to_hex_string();
assert_eq!(string_hash,
"aedfb92b3053a21a114f4f301a02a3c6ad5dff504d124dc2cee6117623eec706");
println!("SHA256({}) = {}", string, string_hash);
}
Raw data hash:
extern crate easy_hasher;
use easy_hasher::easy_hasher::*;
fn main() {
let data = vec![0xA7, 0x34, 0x9F, 0x02]; // just random data lol
let hash = raw_sha256(data.clone());
let string_hash = hash.to_hex_string();
assert_eq!(string_hash,
"54dd1903dd45589e9f30e5cb4529d09417347cb27c2f478c7a9e33875917000c");
println!("SHA256({}) = {}", Hash::hex_string(&data), string_hash);
}
File hash:
extern crate easy_hasher;
use easy_hasher::easy_hasher::*;
fn main() {
let path = get_input(); //some input function
let file256 = file_sha256(&path);
let hash: Hash;
match file256 {
Ok(h) => hash = h,
Err(..) => abort()
}
println!("SHA256({}) = {}", path, hash.to_hex_string());
}