HASH分区主要用来分散热点读,取保数据在预先确定个数的分区中尽可能的平均分布。 对一个表执行HASH分区时,MySQL会对分区键应用一个散列函数,一次确定数据应该放在哪一个分区中。 MySQL分区支持两种HASH分区,常规HASH分区和线性HASH分区。 常规HASH使用的是取模算法,线性HASH... ...
分类:
数据库 时间:
2020-07-28 14:35:18
阅读次数:
81
一、开放定址法构造的哈希表的运算算法 1、哈希表类型 #define NULLKEY-1 //定义空关键字 #define DELKEY-2 //定义被删关键字 typedef int KeyType; //关键字类型 typedef struct { KeyType key; //关键字域 int ...
分类:
编程语言 时间:
2020-07-28 14:17:47
阅读次数:
71
前言 整理密码学。 我们在编程中常常需要密码问题,比如说https,aes等。他们都用到了密码这个概念。 密码学是网络安全、信息安全、区块链等产品的基础,常见的非对称加密、对称加密、散列函数等,都属于密码学范畴。 正文 从古至今密码学一直存在,那么在古代密码是怎么样的呢? 我们常常在电视剧中看到一张 ...
分类:
其他好文 时间:
2020-07-27 16:02:24
阅读次数:
71
数据结构--哈希表(Java) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 介绍 哈希表底层是数组加链表或者是数组加二叉树,一个数组里面有多个链表,通过散列函数来提高效率 代码 package cn.guizimo.hash ...
分类:
编程语言 时间:
2020-07-24 09:40:08
阅读次数:
69
散列表的查询效率并不能笼统地说成是 O(1)。它跟散列函数、装载因子、散列冲突等都有关系。 如果散列函数设计得不好,或者装载因子过高,都可能导致散列冲突发生的概率升高,查询效率下降。 在极端情况下,有些恶意的攻击者,有可能通过精心构造的数据,使得所有的数据经过散列函数之后,都散列到同一个槽里。 如果 ...
分类:
其他好文 时间:
2020-07-24 09:23:21
阅读次数:
81
前言 上一节我们讲了哈希算法的四个应用,分别是安全加密、数据校验、唯一标识、散列函数。今天再来看看剩下的三个应用:负载均衡、数据分片、分布式存储。 可能大家已经发现了,这三个应用都是与分布式相关的。没错,今天我们来学习一下,哈希算法是如何解决这些分布式问题的。 应用五:负载均衡 负载均衡算法有很多, ...
分类:
编程语言 时间:
2020-07-06 20:00:29
阅读次数:
69
散列表(Hash),又名哈希,java中的HashMap,python中的dict,在一般代码中多用于键值对字典存储中。在查找中,哈希表的查找往往都是$Olog(1)$,这说明哈希表的查找往往并不需要什么循环结构,是直接得出来的,那么其中必然有值和存储位置的对应计算方法,在哈希表中被叫做散列函数。有 ...
分类:
其他好文 时间:
2020-07-06 16:38:44
阅读次数:
73
MySQL 索引结构 hash 有序数组 除了最常见的树形索引结构,Hash索引也有它的独到之处。 Hash算法 Hash本身是一种函数,又被称为散列函数。 它的思路很简单:将key放在数组里,用一个hash算法把不同的key转换成一个确定的value,然后放在这个数组的指定位置 相同的输入永远可以 ...
分类:
数据库 时间:
2020-07-05 15:44:04
阅读次数:
74
通过上一节的学习,我们知道,散列表的查询效率并不能简单说成是O(1)。它跟散列函数、装载因子、散列冲突等地都有关系。 今天我们来学一下,如何设计一个可以应对各种异常情况的工业级散列表,来避免在散列冲突的情况下,散列表性能的急剧下降,并且能抵抗散列碰撞攻击? 下面我们从散列函数、装载因子、散列冲突等方 ...
分类:
编程语言 时间:
2020-07-04 13:09:20
阅读次数:
55
MD5信息摘要算法(Message Digest Algorithm) md5是一种密码散列函数,可以生成128位(16字节)的散列值,用于确保信息传输完整一致。 这里举例如何在16机器上实现md5算法: md5.h 1 #ifndef MD5_H 2 #define MD5_H 3 4 typed ...
分类:
编程语言 时间:
2020-07-02 13:39:17
阅读次数:
47