ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
tools_hash.cpp File Reference

实现工具库中的哈希辅助函数 More...

#include "tools_hash.h"
#include <cstdio>

Classes

class  ngl::tools::hash_detail::md5_sum
struct  ngl::tools::hash_detail::sha1_ctx

Namespaces

namespace  ngl::tools
 工具函数命名空间。

Functions

uint32_t ngl::tools::hash_detail::rol32 (uint32_t aval, int abits)
void ngl::tools::hash_detail::sha1_tran (uint32_t astate[5], const uint8_t abuf[64])
void ngl::tools::hash_detail::sha1_init (sha1_ctx *actx)
void ngl::tools::hash_detail::sha1_upd (sha1_ctx *actx, const uint8_t *adata, std::size_t alen)
void ngl::tools::hash_detail::sha1_fin (sha1_ctx *actx, uint8_t adig[g_sha1_sz])
void ngl::tools::hash_detail::sha1_raw (std::string_view atext, std::string &aout)
void ngl::tools::hash_detail::xor_key (uint8_t akey[g_hmac_sz], uint32_t axor)
void ngl::tools::hash_detail::hmac_raw (const std::string &akey, const std::string &atext, std::string &aout)
std::string ngl::tools::md5 (const std::string &atext)
 计算字符串的MD5哈希值
std::string ngl::tools::sh1 (std::string_view atext)
 计算字符串的SHA1哈希值
std::string ngl::tools::hmac_sha1 (const std::string &akey, const std::string &atext)
 计算HMAC-SHA1消息认证码

Variables

constexpr int ngl::tools::hash_detail::g_s11 = 7
constexpr int ngl::tools::hash_detail::g_s12 = 12
constexpr int ngl::tools::hash_detail::g_s13 = 17
constexpr int ngl::tools::hash_detail::g_s14 = 22
constexpr int ngl::tools::hash_detail::g_s21 = 5
constexpr int ngl::tools::hash_detail::g_s22 = 9
constexpr int ngl::tools::hash_detail::g_s23 = 14
constexpr int ngl::tools::hash_detail::g_s24 = 20
constexpr int ngl::tools::hash_detail::g_s31 = 4
constexpr int ngl::tools::hash_detail::g_s32 = 11
constexpr int ngl::tools::hash_detail::g_s33 = 16
constexpr int ngl::tools::hash_detail::g_s34 = 23
constexpr int ngl::tools::hash_detail::g_s41 = 6
constexpr int ngl::tools::hash_detail::g_s42 = 10
constexpr int ngl::tools::hash_detail::g_s43 = 15
constexpr int ngl::tools::hash_detail::g_s44 = 21
constexpr std::size_t ngl::tools::hash_detail::g_sha1_sz = 20
constexpr std::size_t ngl::tools::hash_detail::g_hmac_sz = 64

Detailed Description

实现工具库中的哈希辅助函数

提供MD5、SHA1和HMAC-SHA1哈希算法的实现 用于数据完整性校验、密码哈希和数字签名

Note
这些是标准的密码学哈希算法实现