根据这个关于WWW认证的RFC (在HTTTP中使用) https://www.rfc-editor.org/rfc/rfc2617#page-7,
就本文档而言,128位的MD5摘要是 表示为32个ASCII可打印字符。128位摘要中的比特从最重要的位转换为最不重要的位, 四位一次到他们的ASCII介绍如下。每四个位都由它熟悉的十六进制表示法表示。 字符0123456789abc。也就是说,二进制0000由字符“0”、“0001”、“1”等来表示,等等。 作为“f”。
铁锈的MD5箱实现了文摘特性:https://docs.rs/digest/0.9.0/digest/trait.Digest.html,它将消化为由8 16位切片组成的GenericArray。
如何从RFC转换此散列格式?为什么md-5机箱没有一个简单的特性将摘要显示为十六进制值?
机箱literal_hex执行相反的操作:将十六进制级联值字符串转换为字节。
发布于 2021-04-13 07:33:37
如何从RFC转换此散列格式?
使用(LowerHex)格式说明符格式化它
fn main() {
let s = md5::Md5::new();
println!("{:x}", s.finalize());
// d41d8cd98f00b204e9800998ecf8427e
println!("{:x}", md5::Md5::digest(b""));
// d41d8cd98f00b204e9800998ecf8427e
}作为显示。
为什么md-5机箱没有一个简单的特性将摘要显示为十六进制值?
因为那是在铁锈里建立的。
https://stackoverflow.com/questions/67069842
复制相似问题