|
|
@@ -1,5 +1,6 @@
|
|
1
|
1
|
use hasher_sha256::{Hasher, HashResult};
|
|
2
|
2
|
use hasher_sha256::Sha256;
|
|
|
3
|
+use std::fmt;
|
|
3
|
4
|
|
|
4
|
5
|
/// Dieser Datentyp beschreibt die Lösung des Hashverfahrens.
|
|
5
|
6
|
pub struct Solution {
|
|
|
@@ -7,6 +8,13 @@ pub struct Solution {
|
|
7
|
8
|
pub hash: String,
|
|
8
|
9
|
}
|
|
9
|
10
|
|
|
|
11
|
+/// Display-Implementierung für den Datentyp Solution
|
|
|
12
|
+impl fmt::Display for Solution {
|
|
|
13
|
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
|
|
14
|
+ write!(f, "Number: {} --> hash: {}", self.number, self.hash)
|
|
|
15
|
+ }
|
|
|
16
|
+}
|
|
|
17
|
+
|
|
10
|
18
|
/// `verify_product` dient der Verifikation eines gefundenen Hashes.
|
|
11
|
19
|
pub fn verify_product(base: usize, number: usize, difficulty: &String) -> Option<Solution> {
|
|
12
|
20
|
let sol = base * number;
|