数据加密Entryption

AndroidH13-Entryption 数据加密

一、MD5 加密(不可逆的)
1 . 简介:
不管是MD2 、MD4 还是MD5 ,它们都需要获得一个随机长度的信息并产生一个1 2 8 位的信息摘要。虽然这些算法的结构或多或少有些
相似,但MD2 的设计与MD4 和MD5 完全不同,那是因为MD2 是为8 位机器做过设计优化的,而MD4 和MD5 却是面向3 2 位的电脑。这三
个算法的描述和C 语言源代码在I nt er net   R F C s   1 3 2 1 中有详细的描述(ht t p: //w w w . iet f. or g/r fc /r fc1 3 2 1 . t x t ),这是一份最权威的文档,
由R onald  L .   R iv es t 在1 9 9 2 年8 月向I EF T提交。V an O or s chot 和W iener 曾经考虑过一个在散列中暴力搜寻冲突的函数(Br ut e- F or ce
Has h  F unc t ion),而且他们猜测一个被设计专门用来搜索MD5 冲突的机器(这台机器在1 9 9 4 年的制造成本大约是一百万美元)可以平
均每2 4 天就找到一个冲突。但单从1 9 9 1 年到2 0 0 1 年这1 0 年间,竟没有出现替代MD5 算法的MD6 或被叫做其他什么名字的新算法这一
点,我们就可以看出这个瑕疵并没有太多的影响MD5 的安全性。上面所有这些都不足以成为MD5 的在实际应用中的问题。并且,由于
MD5 算法的使用不需要支付任何版权费用的,所以在一般的情况下(非绝密应用领域。但即便是应用在绝密领域内,MD5 也不失为一种
非常优秀的中间技术),MD5 怎么都应该算得上是非常安全的了
2 . 应用:
MD5 的典型应用是对一段信息(Mes s age)产生信息摘要(Mes s age-Diges t ),以防止被篡改。比如,在U N I X下有很多软件在下载
的时候都有一个文件名相同,文件扩展名为. m d5 的文件,在这个文件中通常只有一行文本,大致结构如:MD5   (t anajiy a. t ar . gz) =
0 ca1 7 5 b9 c0 f7 2 6 a8 3 1 d8 9 5 e2 6 9 3 3 2 4 6 1 , 这就是t anajiy a. t ar . gz文件的数字签名。MD5 将整个文件当作一个大文本信息,通过其不可逆的
字符串变换算法,产生了这个唯一的MD5 信息摘要。如果在以后传播这个文件的过程中,无论文件的内容发生了任何形式的改变(包括人
为修改或者下载过程中线路不稳定引起的传输错误等),只要你对这个文件重新计算MD5 时就会发现信息摘要不相同,由此可以确定你得
到的只是一个不正确的文件。如果再有一个第三方的认证机构,用MD5 还可以防止文件作者的"抵赖",这就是所谓的数字签名应用。
2.MD5算法原理
  MD5算法的原理主要分为以下几个步骤,下面就让小编为大家一一介绍一下吧:
  1)填充:首先将输入信息的长度(bi t )进行填充,使得对512求余的结果等于448。填充的方法是填充一个1和n个0。
  2)记录信息长度:用64位来存储填充前信息长度。这64位加在第一步结果的后面,这样信息长度就变为N*512+448+64=
(N+1)*512位。
  3)装入标准的幻数:标准的幻数是(A=(01234567)16,B=(89ABCDEF)16,C=(FEDCBA98)16,D=(76543210)16)。如果
在程序中定义应该是(A=0X67452301L,B=0XEFCDAB89L,C=0X98BADCFEL,D=0X10325476L)。
  4)四轮循环运算:循环的次数是分组的个数(N+1)。
3.MD5算法原理- - 用途
  MD5算法的用途主要分为以下几类:
  1、防止被篡改,比如我提供文件下载,为了防止不法分子在安装程序中添加木马,我可以在网站上公布由安装文件得到的MD5输出
结果。
  2、防止直接看到明文,现在很多网站在数据库存储用户的密码的时候都是存储用户密码的MD5值。这样就算不法分子得到数据库的
用户密码的MD5值,也无法知道用户的密码。
  3、防止抵赖(数字签名),例如A写了一个文件,认证机构对此文件用MD5算法产生摘要信息并做好记录。这样可以防止出现以后A不
承认此事而带来的麻烦。
二、DES加密
1 . 简介:      1 2 3     -填入密钥-   9 3 8 1 8 2 3 1 2 9 4 8 3 2 afdafa  (9 x _ 0 s 9 2 _ 9 2 3 8 _ 2 9 2 3 4 2  密钥)
DES是一种对称加密算法,所谓对称加密算法即:加密和解密使用相同密钥的算法。DES加密算法出自I BM的研究,后来被美国政府正
式采用,之后开始广泛流传,但是近些年使用越来越少,因为DES使用5 6 位密钥,以现代计算能力,2 4 小时内即可被破解。虽然如此,在
某些简单应用中,我们还是可以使用DES加密算法
2 . 应用:
在网络中传输数据进行加密
三、AES加密
1 . 简介:
高级加密标准(英语:Adv anced  Enc r y pt ion  S t andar d,缩写:AES),在密码学中又称R ijndael加密法,是美国联邦政府采用的一
种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家
标准与技术研究院(N I S T)于2 0 0 1 年1 1 月2 6 日发布于F I PS   PU B  1 9 7 ,并在2 0 0 2 年5 月2 6 日成为有效的标准。2 0 0 6 年,高级加密标准已然
成为对称密钥加密中最流行的算法之一。
严格地说,AES和R ijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为R ijndael加密法可以支持更大范围的区块和
密钥长度:AES的区块长度固定为1 2 8  比特,密钥长度则可以是1 2 8 ,1 9 2 或2 5 6 比特;而R ijndael使用的密钥和区块长度可以是3 2 位的整
数倍,以1 2 8 位为下限,2 5 6 比特为上限。加密过程中使用的密钥是由R ijndael密钥生成方案产生。AES加密是DES加密的升级版
2 . 应用:
在网络中传输数据进行加密, 数据库关键字段等
四、Bas e6 4 加密
1 . 简介:
按照R F C 2 0 4 5 的定义,Bas e6 4 被定义为:Bas e6 4 内容传送编码被设计用来把任意序列的8 位字节描述为一种不易被人直接识别的形
式。(T he  Bas e6 4   C ont ent - T r ans fer - Encoding  is   des igned  t o  r epr es ent   ar bit r ar y   s equences   of  oc t et s   in  a  for m   t hat   need  not
be  hum anly   r eadable. )  BAS E6 4  严格地说,属于编码格式,而非加密算法
2 . 应用:
常见于邮件、ht t p加密,截取ht t p信息,你就会发现登录操作的用户名、密码字段通过BAS E6 4 加密的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章