Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
sha1::Sha1.result_str() can yield incorrect results #4458
The problem is that each byte in the SHA1 digest is hexified individually in a way that doesn't include leading zeros: a byte of 0x0a just gets turned into 'a'. So if your digest should be "ab0e" the result is "abe". You can see in this program where the printed strings vary in length:
Do the Rust standard libraries have a byte-array-to-hex converter somewhere? It seems like that'd be a useful thing to tuck in somewhere. Besides being incorrect for the time being, the SHA1 hex converter also looks like it's probably slower than it needs to be.