blob: b1da7b5d32129ad99ca3c08c42d0613b3f77b827 (
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
|
//! ref: composer/src/Composer/SelfUpdate/Keys.php
use anyhow::Result;
use regex::Regex;
use shirabe_php_shim::hash;
pub struct Keys;
impl Keys {
pub fn fingerprint(path: &str) -> Result<String> {
let content = std::fs::read_to_string(path)?;
let re = Regex::new(r"\s").unwrap();
let cleaned = re.replace_all(&content, "");
let hash = hash("sha256", &cleaned).to_uppercase();
Ok([
&hash[0..8],
&hash[8..16],
&hash[16..24],
&hash[24..32],
"",
&hash[32..40],
&hash[40..48],
&hash[48..56],
&hash[56..64],
]
.join(" "))
}
}
|