仍然遇到MD5问题
still in trouble with MD5
我用 C++ 完成了 MD5 算法的实现,但它不能正常工作...我的哈希值不正确。
仅供理解:
如果我尝试使用 MD5 哈希算法对文件(64 字节)进行哈希处理,则必须发生以下情况:
// 512 Bit(data) 512 Bit(Padding)
// ------------- -------------
// |xxxxxxxxxxx| |10000000|64|
// ------------- -------------
//
// 1 - appended 1 Bit
// 0 - filled with zeros until 8 bytes before end of block
// 64 - 64 bit (8 Byte) representation of size of file
1st: 带数据块的MD5算法
第 2 步:使用 Padding 创建附加块
第三:带填充块的MD5算法
对吗?
64 位表示的值必须以位为单位,而不是字节!
因此,在我的例子中,计数器不是 64。它是 64*8 = 512。
我用 C++ 完成了 MD5 算法的实现,但它不能正常工作...我的哈希值不正确。
仅供理解: 如果我尝试使用 MD5 哈希算法对文件(64 字节)进行哈希处理,则必须发生以下情况:
// 512 Bit(data) 512 Bit(Padding)
// ------------- -------------
// |xxxxxxxxxxx| |10000000|64|
// ------------- -------------
//
// 1 - appended 1 Bit
// 0 - filled with zeros until 8 bytes before end of block
// 64 - 64 bit (8 Byte) representation of size of file
1st: 带数据块的MD5算法
第 2 步:使用 Padding 创建附加块
第三:带填充块的MD5算法
对吗?
64 位表示的值必须以位为单位,而不是字节! 因此,在我的例子中,计数器不是 64。它是 64*8 = 512。