| 174 | } |
| 175 | |
| 176 | char* MD5::End(char* buf) { |
| 177 | static const char hex[] = "0123456789abcdef"; |
| 178 | ui8 digest[16]; |
| 179 | if (!buf) |
| 180 | buf = (char*)malloc(33); |
| 181 | if (!buf) |
| 182 | return nullptr; |
| 183 | Final(digest); |
| 184 | for (ui8 i = 0; i < MD5_HEX_DIGEST_LENGTH / 2; i++) { |
| 185 | buf[i * 2] = hex[digest[i] >> 4]; |
| 186 | buf[i * 2 + 1] = hex[digest[i] & 0x0f]; |
| 187 | } |
| 188 | buf[32] = '\0'; |
| 189 | return buf; |
| 190 | } |
| 191 | |
| 192 | char* MD5::End_b64(char* buf) { |
| 193 | ui8 digest[16]; |
no test coverage detected