哈希算法 加密算法

哈希算法应用普遍,如在PHP中,全部的数据 不管变量,常量,类,属性 都用Hash表来实现.php

经常使用的哈希算法:html

一、php内核哈希算法:time33 ,算法

算法:对字符串的每一个字符,迭代的乘以33;安全

原型:   hash(i) = hash(i-1)*33 + str[i] ;服务器

在使用时,存在一个问题,对类似的字符串生成的hashcode也相似,有人提出对原始字符串,进行MD5,而后再计算hashcode。网络

php实现:编码

二、Message Digest Algorithm MD5加密

MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机普遍使用的杂凑算法之一,其中比较有名的还有sha-1RIPEMD以及Haval等。spa

MD5算法具备如下特色:.net

一、压缩性:任意长度的数据,算出的MD5值长度都是固定的。

二、容易计算:从原数据计算出MD5值很容易。

三、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所获得的MD5值都有很大区别。

四、强抗碰撞:已知原数据和其MD5值,想找到一个具备相同MD5值的数据(即伪造数据)是很是困难的。MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。

三、RC4

在密码学领域,RC4( 又名ARC4 或者ARCFOUR )是应用最普遍的流加密算法,应用在安全套接字层(SSL)(用来保护网络上传输的数据)和WEP(无线网络数据保护)上

四、base64

基于64个可打印字符来表示二进制数据的方法。

http://php.net/manual/en/function.base64-decode.php

咱们知道在计算机中任何数据都是按ascii码存储的,而ascii码的128~255之间的值是不可见字符。而在网络上交换数据时,好比说从A地传到B地,每每要通过多个路由设备,因为不一样的设备对字符的处理方式有一些不一样,这样那些不可见字符就有可能被处理错误,这是不利于传输的。因此就先把数据先作一个Base64编码,通通变成可见字符,这样出错的可能性就大下降了。

对证书来讲,特别是根证书,通常都是做Base64编码的,由于它要在网上被许多人下载。电子邮件的附件通常也做Base64编码的,由于一个附件数据每每是有不可见字符的。

1.标准base64只有64个字符(英文大小写、数字和+、/)以及用做后缀等号;
2.base64是把3个字节变成4个可打印字符,因此base64编码后的字符串必定能被4整除(不算用做后缀的等号);
3.等号必定用做后缀,且数目必定是0个、1个或2个。这是由于若是原文长度不能被3整除,base64要在后面添加\0凑齐3n位。为了正确还原,添加了几个\0就加上几个等号。显然添加等号的数目只能是0、1或2;
4.严格来讲base64不能算是一种加密,只能说是编码转换。使用base64的初衷。是为了方便把含有不可见字符串的信息用可见字符串表示出来,以便复制粘贴;

 

若是页面上有太多的图片则会屡次请求服务器,若是直接文本存入html能够减小请求次数??????


五、rsa签名

六、DES全称为Data Encryption Standard

七、校验和:Checksum

总和检验码,校验和。在数据处理和数据通讯领域中,用于校验目的的一组数据项的和,保证数据的完整性和准确性.

十六进制串:

1

0102030405060708

的校验和是: 24 (十六进制)

若是校验和的数值超过十六进制的FF,也就是255. 就要求其补码做为校验和

相关文章
相关标签/搜索