部分加密算法简介
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块分别建立倒排索引,只和四块中的比较。
相关文章推荐
- 安装大型 Linux 集群,第 1 部分: 简介和硬件配置
- android 部分原生Adapter简介之SimpleCursorAdapter
- 掌握 Dojo 工具包,第 1 部分: Dojo 入门简介
- An Introduction to Redis-ML (Part 5) (Redis-ML简介(第5部分))
- 掌握 Ajax,第 1 部分: Ajax 入门简介
- 什么是HADOOP、产生背景、在大数据、云计算中的位置和关系、国内外HADOOP应用案例介绍、就业方向、生态圈以及各组成部分的简介(学习资料中的文档材料)
- 与Web2.0相关部分社会软件简介
- 掌握 Ajax,第 1 部分: Ajax 简介
- 部分Dojo常用函数简介(三)——页面生命周期及DOM相关常用函数
- openmp 中部分函数简介
- 掌握 Ajax,第 1 部分: Ajax 简介
- Java EE 7 教程 第一部分 简介 第2章 使用教程示例 第2.2节 启动和停止GlassFish服务器
- BEDTools简介、安装与部分工具使用简介
- DB2 9 底子(730 磨练)认证指南,第 7 部分: XQuery 简介(3)
- Hadoop生态圈以及各组成部分的简介
- Windows到Linux之旅:第3部分.Webmin简介
- Spring系列第1部分:Spring 框架简介(图)
- 消息中间件 Apache Qpid 简介,第 2 部分
- 掌握 Ajax,第 1 部分: Ajax 入门简介