MCPcopy Create free account
hub / github.com/EasyIME/PIME / Finalize

Method Finalize

installer/md5dll/MD5.cpp:219–244  ·  view source on GitHub ↗

md5::Finalize MD5 finalization. Ends an MD5 message-digest operation, writing the message digest and zeroizing the context.

Source from the content-addressed store, hash-verified

217// MD5 finalization. Ends an MD5 message-digest operation, writing
218// the message digest and zeroizing the context.
219void md5::Finalize()
220{
221 uchar bits[8];
222 uint4 index, padLen;
223
224 // Save number of bits
225 Encode (bits, m_Count, 8);
226
227 // Pad out to 56 mod 64
228 index = (unsigned int)((m_Count[0] >> 3) & 0x3f);
229 padLen = (index < 56) ? (56 - index) : (120 - index);
230 Update(PADDING, padLen);
231
232 // Append length (before padding)
233 Update (bits, 8);
234
235 // Store state in digest
236 Encode (m_Digest, m_State, 16);
237
238 //memset(m_Count, 0, 2 * sizeof(uint4));
239 m_Count[0] = m_Count[1] = 0;
240 //memset(m_State, 0, 4 * sizeof(uint4));
241 m_State[0] = m_State[1] = m_State[2] = m_State[3] = 0;
242 //memset(m_Buffer,0, 64 * sizeof(uchar));
243 for (register int i = 0; i < 16; i++) ((uint4 *)m_Buffer)[i] = 0UL;
244}
245
246// md5::Transform
247// MD5 basic transformation. Transforms state based on block.

Callers 2

MD5StringFunction · 0.80
MD5FileFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected