mysql fnv64函数_FNV哈希算法 - osc_tiaoycd5的个人空间 - OSCHINA - 中文开源技术交流社区...
FNV哈希算法
[TOC]
FNV版本
FNV哈希分为3个版本:fnv-0(已废弃),FNV-1,FNV-1a
算法实现
FNV-0算法公式
hash = 0
for each byte_of_data to be hashed
hash = hash * FNV_prime
hash = hash ^ octet_of_data
return hash
FNV-1算法公式
hash = FNV_offset_basis
for each byte_of_data to be hashed
hash = hash * FNV_prime
hash = hash ^ byte_of_data
return hash
FNV-1a算法公式
hash = FNV_offset_basis
for each byte_of_data to be hashed
hash = hash ^ byte_of_data
hash = hash * FNV_prime
return hash
FNV公式参数说明
1. FNV_offset_basis
这个参数的值是固定的,根据不同的位数选择不同的值作为hash的首次填充值
位数 | 十进制值 |
---|---|
32 | 2166136261 |
64 | 14695981039346656037 |
128 | 144066263297769815596495629667062367629 |
256 | 100029257958052580907070968620625704837092796014241193945225284501741471925557 |
512 |
965930312949666949800943540071631046609041874567263789610837432943446265799458 2932197716438449813051892206539805784495328239340083876191928701583869517785 |
1024 |
1419779506494762106872207064140321832088062279544193396087847491461758272325 2296732303717722150864096521202355549365628174669108571814760471015076148029 7559698040773201576924585630032153049571501574036444603635505054127112859663 61610267868082893823963790439336411086884584107735010676915 |
2. FNV_prime
还没有看懂,不过这不影响我们实现通用32位,64位的FNV算法
位数 | 十进制值 |
---|---|
32 | 16777619 |
64 | 1099511628211 |
128 | 309485009821345068724781371 |
256 | 374144419156711147060143317175368453031918731002211 |
512 |
35835915874844867368919076489095108449946327955754392558399825615420669938882 575126094039892345713852759 |
1024 |
501645651011311865543459881103527895503076534540479074430301752383111205510814745 150915769222029538271616265187852689524938529229181652437508374669137180409427187 3160484737966720260389217684476157468082573 |
3. hash
hash后的最总结果
4. byte_of_data
8位无符号整数
5. hashed
要加密的数据,需要转换成byte_of_data[]然后循环^计算
mysql fnv64函数_FNV哈希算法 - osc_tiaoycd5的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐
- java诸神之战游戏_mj回溯算法 - osc_7bgz0no1的个人空间 - OSCHINA - 中文开源技术交流社区...
1)js版本 /** * 基本思路: * 回溯法: 先挑选中将,再依次拆接出3个,3个的...直到结束,那么说明当前可以胡牌 */ let mahjong = [ "1T", ...
- mysql 重做日志 镜像_mysql重做日志 - osc_vr7hvjd2的个人空间 - OSCHINA - 中文开源技术交流社区...
一.重做日志(redo log) 1.作用 确保事务的持久性. 防止在发生故障的时间点,尚有脏页未写入磁盘,在重启mysql服务的时候,根据redo log进行重做,从而达到事务的持久性这一特性. 2 ...
- java实现近邻聚类算法,近邻传播聚类算法 - osc_t74tdxrl的个人空间 - OSCHINA - 中文开源技术交流社区...
近邻传播聚类算法 1.算法简介 AP(Affinity Propagation)通常被翻译为近邻传播算法或者仿射传播算法,是在2007年的Science杂志上提出的一种新的聚类算法.AP算法的基本思想 ...
- 人工鱼群算法python代码_人工鱼群算法python_鱼群算法 - Brillou的个人空间 - OSCHINA - 中文开源技术交流社区......
本算法是参照李晓磊博士的论文实现的,详细的算法原理可阅读<一种新型的智能优化方法_人工鱼群算法_李晓磊> 算法基于鱼群的生存行为:在一片水域中,鱼存在的数目最多的地方就是本水域中富含营养物 ...
- 人工鱼群算法python_鱼群算法 - Brillou的个人空间 - OSCHINA - 中文开源技术交流社区...
本算法是参照李晓磊博士的论文实现的,详细的算法原理可阅读<一种新型的智能优化方法_人工鱼群算法_李晓磊> 算法基于鱼群的生存行为:在一片水域中,鱼存在的数目最多的地方就是本水域中富含营养物 ...
- MySQL中购买的语句,mysql操作语句 - 买灰机自己开的个人空间 - OSCHINA - 中文开源技术交流社区...
一.对数据库的CRUD 1.创建数据库:create database 数据库名[character set 字符集] 2.查询所有数据库:show databases 3.查询数据库定义结构:sh ...
- java 投票算法_摩尔投票算法 - woshixin的个人空间 - OSCHINA - 中文开源技术交流社区...
摩尔投票算法(Moore majority vote algorithm) 这个在wiki的介绍在https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_m ...
- mysql 读写分离 c_MYSQL的读写分离 - osc_9u3csz5k的个人空间 - OSCHINA - 中文开源技术交流社区...
数据量增多,单机的数据库不足以支撑业务,需要用到数据库集群.而读写分离,就是将数据库的读和写分离,对应到数据库一般就是主从数据库,一主一从或者一主多从:业务服务器把数据写到主数据库中,读操作都去从库读 ...
- MySQL如何创建沙箱,沙箱环境搭建 - osc_y8w65yuq的个人空间 - OSCHINA - 中文开源技术交流社区...
[toc] 测试环境搭建 沙箱环境: -------测试环境搭建 基础配置: # 1.在沙箱环境下实名认证:https://openhome.alipay.com/platform/appDaily. ...
最新文章
- NNVM Compiler,AI框架的开放式编译器
- 【转】android电池(四):电池 电量计(MAX17040)驱动分析篇
- Swift 3.0封装 URLSession 的GET/SET方法代替 Alamofire
- js---25桥模式
- HashMap测试程序2
- Redhat Enterprise 6 下安装Oracle 11g报错
- 从零开始编写深度学习库(四)Eigen::Tensor学习使用及代码重构
- jQuery LigerUI 使用教程入门篇
- k8s集群资源监控-监控指标和方案---K8S_Google工作笔记0052
- 蓝桥杯 ADV-227 算法提高 11-1实现strcmp函数
- c++ vector 使用注意事项
- java 类 赋值_java类怎样赋值
- sphinx系列之中文分词LibMMSeg安装(三)
- w25qxx SPI读取数据出来为全FF
- elang 游戏 生成全局id
- 【Web技术】929- 前端海报生成的不同方案和优劣
- linux修改ipaddr,并保存
- 计算机视觉人脸检测与识别
- 应用Win7优化大师,备份与还原系统激活文件。
- Simulink代码生成:CAN Pack模块及其代码
热门文章
- 将汉字转化为拼音,正则表达式和得到汉字的Unicode编码
- 计算机主机清洁方法,电脑主机除尘清洁板卡维护方法及注意事项 - 主板知识
- 企业为什么需要信息化?
- 关于用户名登录的问题
- 新一代科学教育标准到底是什么?为什么开展 STEM 教育?
- PHP exif 介绍
- 6s测试信号软件,主流智能机信号强度测试 iPhone6s表现差
- 8款电子邮件客户端比较【转】
- phpcms选择文件无法加载插件怎么办_win7系统下浏览器显示无法加载插件如何解决...
- java版tp指令,VAG TP 2.0完整的AT命令列表