MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
FNV哈希算法

Fowler-Noll-Vo非加密哈希算法实现 更多...

函数

MSTL_CONSTEXPR14 size_t FNV_hash (const byte_t *first, const size_t count) noexcept
 FNV-1a哈希算法

详细描述

Fowler-Noll-Vo非加密哈希算法实现

函数说明

◆ FNV_hash()

MSTL_CONSTEXPR14 size_t FNV_hash ( const byte_t * first,
const size_t count )
noexcept

FNV-1a哈希算法

参数
first数据的起始字节指针
count数据的字节数
返回
计算出的哈希值

FNV(Fowler-Noll-Vo)是一种非加密哈希算法,具有:

  1. 良好的雪崩效应(avalanche effect)
  2. 较低的碰撞率
  3. 实现简单高效

FNV_hash函数使用FNV-1a版本算法,先异或再乘法的顺序。

在文件 hash.hpp100 行定义.

引用了 _CONSTANTS , 以及 count().

被这些函数引用 thread::id::to_hash().