|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
SHA-1安全哈希算法实现 更多...
类 | |
| struct | SHA1 |
| SHA-1哈希算法结构体 更多... | |
函数 | |
| NEFORCE_ALWAYS_INLINE_INLINE string | sha1 (const string_view data) |
| SHA-1哈希便捷函数(字符串视图版本) | |
| NEFORCE_ALWAYS_INLINE_INLINE string | sha1 (const string &data) |
| SHA-1哈希便捷函数(字符串版本) | |
| NEFORCE_ALWAYS_INLINE_INLINE byte_vector | sha1 (const cbyte_view data) |
| SHA-1哈希便捷函数(字节视图版本) | |
| NEFORCE_ALWAYS_INLINE_INLINE byte_vector | sha1 (const byte_vector &data) |
| SHA-1哈希便捷函数(字节向量版本) | |
SHA-1安全哈希算法实现
本实现严格遵循以下标准规范(用于兼容性目的):
SHA-1 算法规范:
相关国际标准(信息参考):
废弃与迁移指南:
| 特性 | 规范参数 |
|---|---|
| 算法 | SHA-1 安全哈希算法 |
| 输出长度 | 160 位(20 字节) |
| 内部状态 | 5 个 32 位字(h0, h1, h2, h3, h4) |
| 分组大小 | 512 位(64 字节) |
| 轮数 | 4 轮 × 20 步 = 80 步 |
| 最大输入长度 | 2^61 - 1 字节 |
| 初始向量 (IV) | FIPS 180-4 §6.1.1 定义 |
| 填充方案 | Merkle–Damgård 强化(FIPS 180-4 §5.1.1) |
| 字节序 | 大端(FIPS 180-4 §3.2.2) |
尽管存在安全弱点,SHA-1 仍可用于以下非安全场景:
| NEFORCE_ALWAYS_INLINE_INLINE byte_vector sha1 | ( | const byte_vector & | data | ) |
| NEFORCE_ALWAYS_INLINE_INLINE byte_vector sha1 | ( | const cbyte_view | data | ) |
| NEFORCE_ALWAYS_INLINE_INLINE string sha1 | ( | const string_view | data | ) |
SHA-1哈希便捷函数(字符串视图版本)
| data | 输入字符串 |
引用了 data(), vector< T, Alloc >::data(), SHA1::hash() , 以及 vector< T, Alloc >::size().
被这些函数引用 sha1().