|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
MD5消息摘要算法的实现 更多...
类 | |
| struct | MD5 |
| MD5哈希算法结构体 更多... | |
函数 | |
| NEFORCE_ALWAYS_INLINE_INLINE string | md5 (const string_view data) |
| MD5哈希便捷函数(字符串视图版本) | |
| NEFORCE_ALWAYS_INLINE_INLINE string | md5 (const string &data) |
| MD5哈希便捷函数(字符串版本) | |
| NEFORCE_ALWAYS_INLINE_INLINE byte_vector | md5 (const cbyte_view data) |
| MD5哈希便捷函数(字节视图版本) | |
| NEFORCE_ALWAYS_INLINE_INLINE byte_vector | md5 (const byte_vector &data) |
| MD5哈希便捷函数(字节向量版本) | |
MD5消息摘要算法的实现
本实现严格遵循以下历史标准规范:
MD5 算法规范:
相关历史标准(信息参考):
| 特性 | 规范参数 |
|---|---|
| 算法 | MD5 消息摘要 |
| 输出长度 | 128 位(16 字节) |
| 内部状态 | 4 个 32 位字(A, B, C, D) |
| 分组大小 | 512 位(64 字节) |
| 轮数 | 4 轮 × 16 步 = 64 步 |
| 初始向量 (IV) | RFC 1321 §3.3 定义 |
| 填充方案 | Merkle–Damgård 强化(RFC 1321 §3.1) |
| 小端字节序 | 是(RFC 1321 §3.4) |
尽管存在安全弱点,MD5 仍可用于以下非安全场景:
| NEFORCE_ALWAYS_INLINE_INLINE byte_vector md5 | ( | const byte_vector & | data | ) |
| NEFORCE_ALWAYS_INLINE_INLINE byte_vector md5 | ( | const cbyte_view | data | ) |
| NEFORCE_ALWAYS_INLINE_INLINE string md5 | ( | const string_view | data | ) |