summaryrefslogtreecommitdiffstats
path: root/src/demo_hash.rs
diff options
context:
space:
mode:
authorMalfurious <m@lfurio.us>2021-08-28 09:45:57 -0400
committerMalfurious <m@lfurio.us>2021-08-28 10:01:42 -0400
commit7bd18b4b22f3a6bf86b131329345f9a75d8f699c (patch)
tree07f2ac0cb38a7424b711c2dd9b59116e2ed0848b /src/demo_hash.rs
parent1522a21d24add0d78f7e4a5fae7654b709045754 (diff)
downloadSorensenCompression-7bd18b4b22f3a6bf86b131329345f9a75d8f699c.tar.gz
SorensenCompression-7bd18b4b22f3a6bf86b131329345f9a75d8f699c.zip
Commit Rust POC
This replaces the Python script. Since all MIT-licensed code is removed, the LICENSE file is as well. 'cargo run' to run the program. Signed-off-by: Malfurious <m@lfurio.us>
Diffstat (limited to 'src/demo_hash.rs')
-rw-r--r--src/demo_hash.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/demo_hash.rs b/src/demo_hash.rs
new file mode 100644
index 0000000..115a10f
--- /dev/null
+++ b/src/demo_hash.rs
@@ -0,0 +1,23 @@
+use sha2::Digest;
+
+pub fn hash_bigint(n: usize, i: &num::BigInt) -> Vec<u8>
+{
+ let (_, bytes) = i.to_bytes_be();
+ assert!(bytes.len() <= n);
+
+ let mut hash = sha2::Sha512::new();
+ hash.input(vec![0; n - bytes.len()]);
+ hash.input(bytes);
+
+ hash.result().to_vec()
+}
+
+pub fn show_hash(h: &Vec<u8>)
+{
+ for x in h
+ {
+ print!("{:02x}", x);
+ }
+
+ println!();
+}