哈希(Hash)算法就是单向散列算法,它把某个较大的集合P映射到另一个较小的集合Q中。数学原理听起来很抽象,在网上找到一个很生动的描述。我们有很多的小猪,每个的体重都不一样,假设体重分布比较平均(我们考虑到公斤级别),我们按照体重来分,划分成100个小猪圈。 然后把每个小猪,按照体重赶进各自的猪圈里,记录档案。如果我们要精确找到某个小猪怎么办呢?我们需要每个猪圈,每个小猪的比对吗? 当然不需要了。...
分类:
其他好文 时间:
2014-08-17 13:09:22
阅读次数:
218
在分析网络数据包或者研究安全问题时,经常会遇到变换后的字符序列。而能否准确识别密文的变换算法,对进一步的分析工作很关键。常用的变换算法包括但不限于:Base64、URL编码、HTML编码、MD5散列、DES加密、RSA加密等。要求:
1)在理解算法原理及密文特点的基础上,使用任意编程语言实现,当输入一段密文时,返回可能的变换算法。
2)能准确识别5种以上变换或加密算法。...
分类:
系统相关 时间:
2014-08-14 03:50:19
阅读次数:
659
1、算法概述数据摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名、数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密。数据摘要算法也被称为哈希(Hash)算法或散列算法。1.1 CRC8、CRC16、CRC32CRC(Cyclic Redundan...
分类:
其他好文 时间:
2014-08-13 18:23:36
阅读次数:
281
《算法之道》精华 经典算法部分
本书作者绉恒明,作者另有一本书《数据结构之弦》,以及《操作系统之哲学原理》都是很好的书这本书可以算得上是深入浅出,文笔很好,作者添加了很多自己的思考本文包括经典算法部分
第十章 排序与次序
插入排序
从无序部分抽取一张插入有序部分为原地排序,无需占用临时存储空间最优情况下为O(n),平均O(n^2)
折半插入排序
插入时使用二分查找
归...
分类:
其他好文 时间:
2014-08-09 11:36:47
阅读次数:
238
SHA是一种数据加密算法,该算法经过加密专家多年来的发展和改进已日益完善,现在已成为公认的最安全的散列算法之一,并被广泛使用。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。散列函数值可以说时对明文的一种“指纹”或是“摘要”...
分类:
其他好文 时间:
2014-08-08 21:26:36
阅读次数:
332
什么是哈希表哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做哈希函数,存放记录的数组叫做哈希表。哈希表作为一种高效的数据结构,有着广泛的应用。如果哈希函...
分类:
其他好文 时间:
2014-08-07 22:45:35
阅读次数:
395
JDK源码学习09----HashTable
1.HashTable简介
Hashtable 也是一个散列表,它存储的内容是键值对(key-value)映射。
Hashtable 继承于Dictionary,实现了Map、Cloneable、java.io.Serializable接口。
Hashtable 的函数都是同步的,这意味着它是线程安全的。它的key、value都不可以为null...
分类:
其他好文 时间:
2014-08-06 02:00:21
阅读次数:
257
JDK源码学习系列08----HashMap
1.HashMap简介
HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。
HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。
HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,...
分类:
其他好文 时间:
2014-08-05 22:33:44
阅读次数:
408
基本概念:Hash(哈希):hash一般也译作“散列”。事实上,就是一个函数,用于直接定址。将数据元素的关键字key作为变量,通过哈希函数,计算生成该元素的存储地址。冲突:函数是可以多对一的。即:多个自变量可以映射到同一函数值。一般而言,不同的key的hash值是不同的。在往hash表中映射的时候,...
分类:
编程语言 时间:
2014-08-05 00:01:50
阅读次数:
548
MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2、MD3和MD4发展而来。MD5算法的使用不须要支付不论什么版权费用。MD5功能: 输入随意长度的信息,经过处理,输出为128位的信息(数字指纹); 不同的输入得到的不同的结果(唯一性); ...
分类:
其他好文 时间:
2014-08-04 21:25:08
阅读次数:
553