|
|
@@ -1,5 +1,13 @@
|
|
1
|
|
-mod hasher_sha256
|
|
|
1
|
+use hasher_sha256;
|
|
2
|
2
|
|
|
3
|
|
-pub fn verify_product(base: usize, number: usize, difficulty: String) -> Option {
|
|
4
|
|
- hasher_sha256::hash(base * number)
|
|
|
3
|
+struct Solution {
|
|
|
4
|
+ number: usize,
|
|
|
5
|
+ hash: String,
|
|
|
6
|
+}
|
|
|
7
|
+
|
|
|
8
|
+pub fn verify_product(base: usize, number: usize, difficulty: String) -> Option<Solution> {
|
|
|
9
|
+ if let x = hasher_sha256::Hasher::hash(i32::from(base * number).as_bytes().hex().ends_with(difficulty)) {
|
|
|
10
|
+ Some(Solution{ number: (base * number), hash: x,});
|
|
|
11
|
+ }
|
|
|
12
|
+ None
|
|
5
|
13
|
}
|