blob: c6963bb4a365c9a61dd8bd9b33bfbb56b91653d7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
fn main() {
let input = "ckczppom";
println!("4a: {}", find_hash_count(input, "00000"));
println!("4b: {}", find_hash_count(input, "000000"));
}
fn find_hash_count(input: &str, start: &str) -> u32 {
let mut i = 0;
loop {
let text = input.to_string() + &i.to_string();
let digest = format!("{:?}", md5::compute(&text));
if digest.starts_with(start) {
return i;
}
i += 1;
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test() {
assert_eq!(find_hash_count("abcdef", "00000"), 609043);
assert_eq!(find_hash_count("pqrstuv", "00000"), 1048970);
}
}
|