一、概述

MOD(取模)运算配合质数的特性,可以实现一种简单的哈希算法。

二、基于的定理

在理解如何实现mod哈希前应当了解一些数学的定理:

1.x mod y = z ,实际上是x除以y的余数y的意思;

2.假设 x / y = z ,即 x 是被除数,y 是除数,z 是商;

3.除法规定:除数不能为0,但是被除数可以;

4.mod运算与/规则是一致的,只不过最后的结果z,mod是余数;

5.质数是只能被0和自身整除的数;

三、算法

x mod y = z

如果理解用到的基本数学定理,那么这个算法是相当容易理解的;

假设y是一个质数,那么x mod y的结果z,永远都等于+-y,至于y是正数还是负数,则取决于x是正数还是负数;

四、运用

1.可用于简单的哈希表,寻找一个足够大的质数作为除数y,可以实现长度为y的哈希表;

2.可用于简单的负载均衡算法,例如利用访问流量时间戳作为被除数x,可以实现把不同流量分发到不同的负载点;

转载于:https://www.cnblogs.com/yiyide266/p/10734079.html

[HASH]MOD运算用户哈希函数相关推荐

  1. 变色龙哈希函数Chameleon Hash Functions

    变色龙哈希函数Chameleon Hash Functions 一.哈希函数 1.1 哈希函数定义 1.2 哈希函数性质 1.3 哈希函数存在的问题 二. 变色龙哈希函数 2.1 变色龙哈希函数定义 ...

  2. 消息完整性和哈希函数 哈希碰撞与生日攻击 HMAC (Message Integrity and Hash Function)

    消息完整性和哈希函数 1. Message Integrity - 消息的完整性 1.1 消息安全性和消息完整性的联系 2. Message Authentication Code - 消息认证码 2 ...

  3. 哈希表及哈希函数研究综述

    哈希表及哈希函数研究综述 摘要 随着信息化水平的不断提高,数据已经取代计算成为了信息计算的中心,对存储的需求不断提高信息量呈现爆炸式增长趋势,存储已经成为急需提高的瓶颈.哈希表作为海量信息存储的有效方 ...

  4. 哈希函数——SHA1

    哈希函数简介 信息安全的核心技术是应用密码技术.密码技术的应用远不止局限于提供机密性服务,密码技术也提供数据完整性服务.密码学上的散列函数(Hash Functions)就是能提供数据完整性保障的一个 ...

  5. BTC-加密哈希函数

    Cryptographic Hash Functions(加密哈希函数) Hash函数可以接受任何字符串(任意大小)作为输入,产生固定大小(256)的输出. 性质: collision resista ...

  6. 哈希函数的特征_哈希函数及其特征

    哈希函数的特征 Prerequisite: Hashing data structure 先决条件: 哈希数据结构 The hash function is the component of hash ...

  7. 不同表结构数据迁移_数据结构:哈希 哈希函数 哈希表

    写在前面 希望你们看了能够有所收获,同时觉得不错的朋友可以点赞和关注下我,以后还会有更多精选文章分享给大家!大家可以关注一下java提升专栏 java提升​zhuanlan.zhihu.com 什么是 ...

  8. 重温数据结构:哈希 哈希函数 哈希表

    点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~ 在学习 HashMap 前,我们先来温习下 Hash(哈希) 的概念. 什么是 Hash Hash(哈希),又称" ...

  9. Hash+哈希+哈希函数

    Hash+哈希+哈希函数 hash == 散列 == 哈希 是一种有损压缩技术 是一种数字指纹技术 哈希是一种加密算法 哈希函数(Hash Function),也称为散列函数或杂凑函数.哈希函数是一个 ...

最新文章

  1. 使用模板引擎Trimpath
  2. Shell中的Wget 的用法
  3. ubuntu系统安装的MySql数据库,远程不能访问的几种可能问题
  4. 39个超棒的免费高清专业纹理收藏集
  5. RequestParam注解
  6. Win32多线程编程(6) — 多线程协作及线程的池化管理
  7. [渝粤教育] 西南科技大学 管理信息系统 在线考试复习资料(1)
  8. MySQL ALTER命令
  9. element 修改表单值后表单验证无效_element 表单自定义校验规则
  10. linux电脑内存查看工具,Linux内存查看工具---Smem
  11. 【一天一个C++小知识】003.C++中的void指针类型
  12. ios mysql 创建不同的用户表_移动端iOS系统数据库之Realm(二)表的创建增删改查(多表)...
  13. 阿里规范说MySQL单表行数不要超过2000w,为啥?
  14. Tableau Desktop 10.4.2 的安装和激活
  15. 阿里、百度、腾讯招聘 Java 程序员的技术标准,你达到要求了吗?
  16. Alink漫谈(二十二) :源码分析之聚类评估
  17. opencv打开网络摄像机实时视频
  18. WP模板常用调用函数
  19. 网路工程师工作中常用的几款软件
  20. 编程与数学的关系_学编程需要很好的数学吗

热门文章

  1. Codeforces Round #608 (Div. 2)
  2. python 在命令行中提示 indentationError:expected an indented block
  3. Android 10.0 设置默认息屏时间
  4. php案例:删除字符串两端的空格
  5. wps文档怎么给整段文字加框_WPS文字技巧—如何为WPS文档增加页面特效边框
  6. 仿比心1对1直播源码开发,如何获取Android系统权限?
  7. 通俗易懂说带宽、网速
  8. Linux进程之exec镞函数的介绍(execl, execlp, execle, execv, execvp, execvpe)
  9. matlab 强制暂停快捷键,matlab键盘快捷键无法使用的解决办法
  10. mac笔记本上sublime安装google代码java格式化插件