安装仓库


cargo add sha3 hex

对字符串进行哈希

代码如下:


use sha3::{Digest, Sha3_256};

let mut hasher = Sha3_256::new();
hasher.update(b"abc");
let hash = hasher.finalize();

println!("{:?}", hash);

此时,生成的对象是二进制数组,如需 Hex 化,使用 hex::encode 即可, 如下:


let hash = hex::encode(&hash);
println!("{:?}", hash);
assert_eq!(hash, "3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532");

对文件进行哈希


let mut hasher = Sha3_256::new();
// 读取文件,请换成自己的文件路径
let bytes = fs::read("yourfile.path").unwrap();
hasher.update(bytes);
let hash = hasher.finalize();
let hash = hex::encode(&hash);
println!("{:?}", hash);