feat: add highwayhash

This commit is contained in:
2022-10-07 23:05:32 +08:00
parent 2f4df9395d
commit e972998e09
4 changed files with 43 additions and 0 deletions

16
__crypto/highwayhash/Cargo.lock generated Normal file
View File

@@ -0,0 +1,16 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "highway"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3688f13e7735ae5ca93edc490f6c5885b77d473255bc1fed92b9c805f972bf94"
[[package]]
name = "highwayhash"
version = "0.1.0"
dependencies = [
"highway",
]

View File

@@ -0,0 +1,10 @@
[package]
name = "highwayhash"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
highway = "0.8.0"

View File

@@ -0,0 +1,5 @@
* https://github.com/nickbabcock/highway-rs
* https://github.com/rurban/smhasher

View File

@@ -0,0 +1,12 @@
use highway::{HighwayHash, HighwayHasher, Key};
fn main() {
let res = HighwayHasher::default().hash256("hello world".as_bytes());
println!("{:x?}", res);
let res = HighwayHasher::default().hash256(&[0xff]);
println!("{:x?}", res);
let mut hasher256 = HighwayHasher::new(Key([1, 2, 3, 4]));
hasher256.append(&[0xff]);
let res: [u64; 4] = hasher256.finalize256();
println!("{:x?}", res);
}