对称加密算法
DES 算法:一种典型的块加密方法,将固定长度的明文通过一系列复杂的操作变成同样长度的密文,块的长度为64位。同时,DES 使用的密钥来自定义变换过程,因此算法认为只有持有加密所用的密钥的用户才能解密密文。 DES 的密钥表面上是64位的,实际有效密钥长度为56位,其余8位可以用于奇偶校验。

DES 现在已经不被视为一种安全的加密算法,主要原因是它使用的56位密钥过短。为了提供实用所需的安全性,可以使用 DES 的派生算法 3DES 来进行加密

AES 算法:在密码学中又称 Rijndael 加密法,用来替代原先的 DES,已经被多方分析且广泛使用。

非对称加密算法
RSA算法:1977年由 MIT 的 Ron Rivest、Adi Shamir 和 Leonard Adleman 一起提出,以他们三人姓氏开头字母命名,是一种获得广泛使用的非对称加密算法。对极大整数做因数分解的难度决定了 RSA 算法的可靠性。换言之,对一个极大整数做因数分解愈困难,RSA 算法就愈可靠。假如有人找到一种快速因数分解的算法的话,那么用 RSA 加密的信息的可靠性就肯定会极度下降。目前看来找到这样的算法的可能性非常小。

散列算法
在信息安全领域,将源数据经过散列算法计算出数据指纹,用于识别经过传播途径得到的数据是否有误 ,以保证数据的来源真实性。

MD5算法:MD5 即 Message‐Digest Algorithm 5 ,是计算机广泛使用的散列算法之一,经常用于确保信息传输的完整性和一致性 。MD5 输入不定长度信息,经过程序流程,生成四个32位数据,最后联合起来输出固定128bit长度的信息摘要。计算的基本过程为:求余、取余、调整长度、与链接变量进行循环运算、得出结果。MD5 的前身有 MD2、MD3 和 MD4。

应用场景
DES/AES加密速度快,适合大量数据,处理数据后可复原。

RSA用于保密性时,就是公钥加密,私钥解密。 因为公钥是可以公开了, 那么任何人都可以使用公钥对信息进行加密,但是只有持有私钥的人才能正确解密。这样就保证了信息的保密性,因为只有私钥持有者才能正确解密。

RSA用于认证性时,比如数字签名,即私钥持有者对信息进行签名,验证者可以根据公开的公钥进行验证签名是否正确和有效,即实现了认证性,以及不可抵赖性。

MD5用于完整性,确保信息在传输过程保持一致性;用于密码加密,数据库中不存储密码明文,而是存储其散列值,校验时比较散列值是否相同

组合使用
采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,使用散列函数进行数据摘要。

最新文章

  1. windows和linux之间“/”, "\\"的区别
  2. Excel单元格发生变化后,使用Outlook给特定的人发邮件
  3. Table排序
  4. Visual Studio 2013 添加新项缺失[ADO.NET 实体数据模型]解决方法
  5. 修改windows密码后ssrs报错
  6. 【转】Android中JNI的使用方法
  7. Seek the Name, Seek the Fame - POJ 2752(next运用)
  8. 基于visual Studio2013解决C语言竞赛题之0603打印素数
  9. sql第一天
  10. C++ 使用string一行一行读取文件
  11. javaScript对象学习笔记(一)
  12. Codeforces 558E A Simple Task (计数排序&&线段树优化)
  13. java-数组排序--冒泡排序、鸡尾酒排序、地精排序
  14. Python3基础-代码阅读系列—优惠码生成
  15. Nginx防压力测试
  16. fastDFS 命令笔记
  17. Fragment 源码解析add()和replace()方法
  18. Longest Substring Without Repeating Characters leetcode java
  19. Linux C语言小程序
  20. Shell编程-01-Shell脚本初步入门

热门文章

  1. 苹果CMSv10宝塔全自动定时采集教程
  2. linq/EF 使用技巧笔记
  3. CentOS查看进程端口号以及kill操作
  4. Android中实现双击(多击)事件
  5. Selenium 控制浏览器
  6. go语言系列--输出正弦函数
  7. Java数据库之数据库的连接操作
  8. Oracle.DataAccess.Client.OracleCommand”的类型初始值设定项引发异常
  9. 关于自定义 List集合排序的方法!
  10. 阶段3 1.Mybatis_05.使用Mybatis完成CRUD_5 Mybatis的CRUD-查询返回一行一列和占位符分析