1.散列表(hash table)的实现成为散列(hashing),是一种以常数平均时间执行输入、删除和查找的技术。但是那些需要元素间任何排序信息的数操作将不会得到有效的支持。2.散列函数示例int hash(const string & key, int tableSize)
{
int hashVal=0;
for(int i=0;i<key.length();i++)...
分类:
其他好文 时间:
2015-05-10 09:58:10
阅读次数:
130
一、概述 本文将粗略讲述一下Hash算法的概念特性,里边会结合分布式系统负载均衡实例对Hash的一致性做深入探讨。另外,探讨一下Hash算法在海量数据处理方案中的通用性。最后,从源代码出发,具体分析一下Hash算法在MapReduce框架的中的应用。二、Hash算法Hash可以通过散列函数将任意长度...
分类:
编程语言 时间:
2015-04-21 12:43:33
阅读次数:
193
哈希表,又称为散列表,是一种数据结构,大体概念估计大家都清楚,我这里不在赘述。目的:用来查询。 通过给定关键字—> 直接找到数据的内存位置(也就是说直接此数据)。 (是不是和 key-value 很像)方式: 通过计算一个键值的函数,将所需要查询的 数据映射到表中的一个位置来访问记录,这样子加快了查找速度。 这个函数称为散列函数,存放记录的数组称为散列表。
有两点很重要: 先撇开哈希算法,我们应...
分类:
编程语言 时间:
2015-04-04 13:43:43
阅读次数:
254
Message Digest 5(消息摘要算法)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式,就是把一个任意长度的字节串变换成一定长的十六进制数字串。MD5算法的特点:1.压缩性:任意长度的数据,...
分类:
编程语言 时间:
2015-04-02 16:21:30
阅读次数:
165
《第五章》 散 列
散列表的实现常常叫做散列(hashing)。散列是一种用于以常数平均时间执行插入、删除和查找的技术。
关于散列有一个很重要的概念:散列函数。散列函数是散列的关键处之一,散列函数又是基于映射机制的一种对应关系(一般是多对一的关系)。
这章可以分为5个部分:一般想法,散列函数,分离链接法,开放定址法(可分为线性探测、平方探测、双散列)、再散列、可扩散列。
本...
分类:
其他好文 时间:
2015-03-30 14:38:42
阅读次数:
224
哈希表,又名散列表,hashtable。。。云云,看似很高大上,其实不过是直接寻址的延伸而已。直接寻址为何物,看一个数组:a[10],那么取其中一个元素a[1],这就是直接寻址,直接去这个a+1的地址上,就找到了这个数值,时间复杂度为O(1)。而哈希表的目的就是要让查找的时间复杂度尽量往O(1)上靠。...
分类:
编程语言 时间:
2015-03-18 23:24:21
阅读次数:
287
登录与注册的加密算法分析算法目的
提供固定的 秘钥 和 明文 能够产生不同的密文摘要
hamc 算法 大概流程是 使用一个秘钥 对明文进行两次散列操作得到密文摘要
哈希(散列)函数
MD5
SHA1
SHA256
注册
向服务器请求一个随机的秘钥
把注册的密码进行 md5.hmac(hamc使用md5的散列函数来操作字符)加密 : md5.hmac(key,message) ==> 密文摘要(k...
分类:
编程语言 时间:
2015-03-17 22:01:53
阅读次数:
192
一:散列函数①:如果输入的关键字是整数: 比较合理的方法就是直接返回"key mod TableSize"。当然这需要仔细考虑过,通常保证表的大小是素数,否则比如如果表的大小是10而关键字都以0结尾= =②:如果关键字是字符串: 通常会选择把ASCII码加起来。二:解决冲突的方法冲突就是值两个不.....
分类:
其他好文 时间:
2015-03-08 10:23:25
阅读次数:
167
常用加密算法
哈希(散列)函数MD5
SHA1
SHA256
对称加密算法DES
3DES (使用3个密钥,对相同的数据执行三次加密,强度增强)
AES (高级密码标准,美国国家安全局使用的)
苹果的钥匙串访问就是使用 AES 加密的!
ECB 密码本加密
CBC 密码链条加密
非对称加密算法(RSA)
RSA - 加密算法!算法是公开的!”公钥”加密,”私钥”解密
“私钥”加密...
分类:
编程语言 时间:
2015-03-04 09:48:34
阅读次数:
214
序
上一篇文章中介绍了基本的单向加密算法 — — MD5,也大致的说了说它实现的原理。这篇文章继续之前提到的单向加密,主要讲的是 SHA,同 MD5 一样,SHA 同样也是一个系列,它包括 SHA-1,SHA-224,SHA-256,SHA-384,和 SHA-512 等几种算法。其中,SHA-1,SHA-224 和 SHA-256 适用于长度不超过 2^64 二进制位的消息。SHA-3...
分类:
编程语言 时间:
2015-02-27 11:56:40
阅读次数:
197