1
0
mirror of https://github.com/jht5945/buildj.git synced 2025-12-28 17:50:05 +08:00

update calc_file_*

This commit is contained in:
2019-08-20 01:33:09 +08:00
parent b58529b41b
commit ece47cbd75

View File

@@ -46,10 +46,10 @@ pub fn verify_file_integrity(integrity: &str, file_name: &str) -> XResult<bool>
Some(index) => {
let digest_hex = &integrity[index+1..];
let calc_digest_hex = match &integrity[0..index] {
"sha256:hex" => calc_file_sha256(file_name)?,
"sha512:hex" => calc_file_sha512(file_name)?,
"sha1:hex" => calc_file_sha1(file_name)?,
"md5:hex" => calc_file_md5(file_name)?,
"sha256:hex" => calc_file_digest(&mut Sha256::new(), "SHA256", file_name)?,
"sha512:hex" => calc_file_digest(&mut Sha512::new(), "SHA512", file_name)?,
"sha1:hex" => calc_file_digest(&mut Sha1::new(), "SHA1", file_name)?,
"md5:hex" => calc_file_digest(&mut Md5::new(), "MD5", file_name)?,
_ => return Err(new_box_error(&format!("Not supported integrigty: {}", integrity))),
};
let integrity_verify_result = digest_hex == calc_digest_hex.as_str();
@@ -67,26 +67,6 @@ pub fn calc_sha256(d: &[u8]) -> String {
sha256.result_str()
}
pub fn calc_file_md5(file_name: &str) -> XResult<String> {
let mut digest = Md5::new();
calc_file_digest(&mut digest, "MD5", file_name)
}
pub fn calc_file_sha1(file_name: &str) -> XResult<String> {
let mut digest = Sha1::new();
calc_file_digest(&mut digest, "SHA1", file_name)
}
pub fn calc_file_sha256(file_name: &str) -> XResult<String> {
let mut digest = Sha256::new();
calc_file_digest(&mut digest, "SHA256", file_name)
}
pub fn calc_file_sha512(file_name: &str) -> XResult<String> {
let mut digest = Sha512::new();
calc_file_digest(&mut digest, "SHA512", file_name)
}
pub fn calc_file_digest(digest: &mut Digest, digest_alg: &str, file_name: &str) -> XResult<String> {
let mut buf: [u8; DEFAULT_BUF_SIZE] = [0u8; DEFAULT_BUF_SIZE];
let mut f = File::open(file_name)?;