您的位置:首页 > 其它

部分加密算法简介

2017-09-13 08:38 197 查看

部分加密算法简单介绍

      1.对称加密:使用相同密钥加密解密。
         对称加密算法:DES、AES等

      2.非对称加密:加密解密使用不同密钥
           代表算法:RSA
           RSA加密算法加密解密使用不同的密钥,可以用于加密和认证。

          加密:公钥负责加密,私钥负责解密。
         认证:私钥负责签名,公钥负责验证。
         认证原理:
                   


     3.摘要算法

         代表算法:MD5 、SHA算法等
         MD5:    输入任意长度的原文字符串,返回128位的加密数据。(不可逆)
       SHA1:输入任意长度的原文字符串,返回160位的加密数据。(不可逆)
        典型应用:
                  1.加密用户密码
                  2.网上下载大文件的时候,会提供文件的MD5值,用户在下载后可以在下载文件的基础上计算MD5值,如果和提供的MD5相同,
         说明没有损坏或修改。(MD5只针对文件内容,文件名改变后不影响MD5数值)
      3.判断图片是否重复
        使用消息摘要技术(如MD5、SHA)。通过比较图片产生的固定长度字符串,判断图片是否相等(如果两两图片都比较每个像素,计算量太大)。
   密码加盐:密码很短的话,黑客可以利用彩虹表(枚举所有密码组合的加密值)反推出密码,可以在短密码后加上一端很长的字符再计算md5,加上的字符称为盐。
                   加盐例子如:Md5( md5(password) + salt)    sha1( sha1(password) + salt)
     
CRC-32(循环冗余检验):输入任意长度的数据,返回32位的检验和

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

比较两篇文章的相似度?与上面的对比
答:1.对文章分词,建立特征向量,计算特征向量之间的距离(欧氏距离、海明距离、夹角余弦)。但海量数据,两两计算量太大。
    2.simhash.  内容越相同,simhash越相似
A.分词   得到特征向量(词)和权重
B.Hash   计算各个特征向量的hash值
C.加权   对所有特征向量加权,hash值二进制为1的变为weight,为0的变为-weight
D.合并   将各个特征向量的加权结果累加
E.降维   累加结果大于0的置1,否则置0,得到simhash签名
64位simhash值,海明距离<=3可认为相似度比较高。将64位二进制均分成4块,如果两个签名海明距离<=3,必有一块完全相等。对4块分别建立倒排索引,只和四块中的比较。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: