|
1 | | -use crate::hasher::{sha2_256, sha2_512}; |
| 1 | +use crate::hasher::{blake2b_512, blake2s_256, sha2_256, sha2_512, sha3_256, sha3_512}; |
2 | 2 | use crate::Result; |
3 | 3 | use lazy_static::lazy_static; |
4 | 4 | use std::collections::HashMap; |
@@ -59,8 +59,12 @@ impl HasherRegistry { |
59 | 59 | impl Default for HasherRegistry { |
60 | 60 | fn default() -> Self { |
61 | 61 | let mut registry = Self::new(); |
| 62 | + registry.register("blake2s", blake2s_256::hash); |
| 63 | + registry.register("blake2b", blake2b_512::hash); |
62 | 64 | registry.register("sha256", sha2_256::hash); |
63 | 65 | registry.register("sha512", sha2_512::hash); |
| 66 | + registry.register("sha3-256", sha3_256::hash); |
| 67 | + registry.register("sha3-512", sha3_512::hash); |
64 | 68 | registry |
65 | 69 | } |
66 | 70 | } |
@@ -145,4 +149,56 @@ mod tests { |
145 | 149 | ); |
146 | 150 | Ok(()) |
147 | 151 | } |
| 152 | + |
| 153 | + #[test] |
| 154 | + fn test_sha3_256() -> Result<()> { |
| 155 | + let hasher = get("sha3-256").unwrap(); |
| 156 | + let data = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 0]; |
| 157 | + let hash = hasher(&data)?; |
| 158 | + |
| 159 | + assert_eq!( |
| 160 | + "c0188232190e0427fc9cc78597221c76c799528660889bd6ce1f3563148ff84d", |
| 161 | + hash |
| 162 | + ); |
| 163 | + Ok(()) |
| 164 | + } |
| 165 | + |
| 166 | + #[test] |
| 167 | + fn test_sha3_512() -> Result<()> { |
| 168 | + let hasher = get("sha3-512").unwrap(); |
| 169 | + let data = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 0]; |
| 170 | + let hash = hasher(&data)?; |
| 171 | + |
| 172 | + assert_eq!( |
| 173 | + "9429fc1f9772cc1d8039fe75cc1b033cd60f0ec4face0f8a514d25b0649ba8a5954b6c7a41cc3697a56db3ff321475be1fa14b70c7eb78fec6ce62dbfc54c9d3", |
| 174 | + hash |
| 175 | + ); |
| 176 | + Ok(()) |
| 177 | + } |
| 178 | + |
| 179 | + #[test] |
| 180 | + fn test_blake2s_256() -> Result<()> { |
| 181 | + let hasher = get("blake2s").unwrap(); |
| 182 | + let data = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 0]; |
| 183 | + let hash = hasher(&data)?; |
| 184 | + |
| 185 | + assert_eq!( |
| 186 | + "7125921e06071710350390fe902856dbea366a5d6f5ee26c18e741143ac80061", |
| 187 | + hash |
| 188 | + ); |
| 189 | + Ok(()) |
| 190 | + } |
| 191 | + |
| 192 | + #[test] |
| 193 | + fn test_blake2s_512() -> Result<()> { |
| 194 | + let hasher = get("blake2s").unwrap(); |
| 195 | + let data = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 0]; |
| 196 | + let hash = hasher(&data)?; |
| 197 | + |
| 198 | + assert_eq!( |
| 199 | + "7125921e06071710350390fe902856dbea366a5d6f5ee26c18e741143ac80061", |
| 200 | + hash |
| 201 | + ); |
| 202 | + Ok(()) |
| 203 | + } |
148 | 204 | } |
0 commit comments