MD5_u32plus a, b, c, d;
MD5_u32plus hi, lo;
- unsigned char buffer[64];
+ uint8_t buffer[64];
MD5_u32plus block[16];
public:
- typedef unsigned char MD5Result[16];
+ typedef uint8_t MD5Result[16];
MD5();
/// \brief Updates the hash for arguments provided.
- void update(ArrayRef<unsigned char> Data);
+ void update(ArrayRef<uint8_t> Data);
/// \brief Finishes off the hash and puts the result in result.
void final(MD5Result &result);
static void stringifyResult(MD5Result &Res, SmallString<32> &Str);
private:
- const unsigned char *body(ArrayRef<unsigned char> Data);
+ const uint8_t *body(ArrayRef<uint8_t> Data);
};
}
/// \brief This processes one or more 64-byte data blocks, but does NOT update
///the bit counters. There are no alignment requirements.
-const unsigned char *MD5::body(ArrayRef<unsigned char> Data) {
- const unsigned char *ptr;
+const uint8_t *MD5::body(ArrayRef<uint8_t> Data) {
+ const uint8_t *ptr;
MD5_u32plus a, b, c, d;
MD5_u32plus saved_a, saved_b, saved_c, saved_d;
unsigned long Size = Data.size();
}
/// Incrementally add \p size of \p data to the hash.
-void MD5::update(ArrayRef<unsigned char> Data) {
+void MD5::update(ArrayRef<uint8_t> Data) {
MD5_u32plus saved_lo;
unsigned long used, free;
- const unsigned char *Ptr = Data.data();
+ const uint8_t *Ptr = Data.data();
unsigned long Size = Data.size();
saved_lo = lo;
memcpy(&buffer[used], Ptr, free);
Ptr = Ptr + free;
Size -= free;
- body(ArrayRef<unsigned char>(buffer, 64));
+ body(ArrayRef<uint8_t>(buffer, 64));
}
if (Size >= 64) {
- Ptr = body(ArrayRef<unsigned char>(Ptr, Size & ~(unsigned long) 0x3f));
+ Ptr = body(ArrayRef<uint8_t>(Ptr, Size & ~(unsigned long) 0x3f));
Size &= 0x3f;
}
if (free < 8) {
memset(&buffer[used], 0, free);
- body(ArrayRef<unsigned char>(buffer, 64));
+ body(ArrayRef<uint8_t>(buffer, 64));
used = 0;
free = 64;
}
buffer[62] = hi >> 16;
buffer[63] = hi >> 24;
- body(ArrayRef<unsigned char>(buffer, 64));
+ body(ArrayRef<uint8_t>(buffer, 64));
result[0] = a;
result[1] = a >> 8;