部分加密算法简介

部分加密算法简单介绍

      1.对称加密使用相同密钥加密解密。

         对称加密算法DESAES等


      2.非对称加密:加密解密使用不同密钥

           代表算法:RSA

           RSA加密算法加密解密使用不同的密钥,可以用于加密和认证。

          加密:公钥负责加密,私钥负责解密。

         认证:私钥负责签名,公钥负责验证。

         认证原理:

                   

     3.摘要算法

         代表算法:MD5 、SHA算法等

         MD5:    输入任意长度的原文字符串,返回128位的加密数据。(不可逆)

       SHA1:输入任意长度的原文字符串,返回160位的加密数据。(不可逆)

        典型应用:

                  1.加密用户密码

                  2.网上下载大文件的时候,会提供文件的MD5值,用户在下载后可以在下载文件的基础上计算MD5值,如果和提供的MD5相同,

         说明没有损坏或修改。MD5只针对文件内容,文件名改变后不影响MD5数值)

      3.判断图片是否重复

        使用消息摘要技术(MD5SHA)。通过比较图片产生的固定长度字符串,判断图片是否相等(如果两两图片都比较每个像素,计算量太大)。

   密码加盐:密码很短的话,黑客可以利用彩虹表(枚举所有密码组合的加密值)反推出密码,可以在短密码后加上一端很长的字符再计算md5加上的字符称为盐。

                   加盐例子如:Md5( md5(password) + salt)    sha1( sha1(password) + salt)

     

CRC-32(循环冗余检验)输入任意长度的数据,返回32位的检验和

应用举例:

检测数据损坏:在数据第一次引入系统时计算检验和,在数据通过一个不可靠通道传输时再次计算检验和,如果新检验和和原检验和不相等,则认为数据损坏,该方法只能检测错误,不能修复数据。检验和也可能损坏,但检验和比数据小的多,损坏可能性非常小。、


比较两篇文章的相似度?与上面的对比

答:1.对文章分词,建立特征向量,计算特征向量之间的距离(欧氏距离、海明距离、夹角余弦)。但海量数据,两两计算量太大。

    2.simhash.  内容越相同,simhash越相似

A.分词   得到特征向量()和权重

B.Hash   计算各个特征向量的hash

C.加权   对所有特征向量加权,hash值二进制为1的变为weight,为0的变为-weight

D.合并   将各个特征向量的加权结果累加

E.降维   累加结果大于0的置1,否则置0,得到simhash签名

64simhash值,海明距离<=3可认为相似度比较高。将64位二进制均分成4块,如果两个签名海明距离<=3,必有一块完全相等。对4块分别建立倒排索引,只和四块中的比较。


猜你喜欢

转载自blog.csdn.net/gaibian_one/article/details/77950359
今日推荐