常见的几种加密方式
一、密钥散列

采用MD5或者SHA1等散列算法,对明文进行加密。严格来说,MD5不算一种加密算法,而是一种摘要算法。无论多长的输入,MD5都会输出一个128位(16字节)的散列值。而SHA1也是流行的消息摘要算法,它可以生成一个被称为消息摘要的160位(20字节)散列值。MD5相对SHA1来说,安全性较低,但是速度快;SHA1和MD5相比安全性高,但是速度慢。

二、对称加密

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密。对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。

对称加密的优缺点:优点是算法公开、计算量小、加密速度快、加密效率高,安全、可认证;缺点是BS网络传输关系,密钥过多难维护,除非对密钥进行加密传输。

对称加密适用场景:收发方数量固定,密钥使用对象少

三、非对称加密

非对称加密算法是一种密钥的保密方法,它需要两个密钥来进行加密和解密,这两个密钥是公开密钥和私有密钥。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。非对称加密算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。

非对称加密的优缺点:优点是安全性更高,公钥是公开的,秘钥是自己保存的,不需要将私钥给别人。缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

非对称加密适用场景:需要密钥交换的场景,如互联网应用,无法事先约定密钥。

四、数字签名

数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。

数字签名的优缺点:优点是运作方式简便、成本低廉,防伪造、防篡改、防抵赖;缺点是不具备足够的保密性。

数字签名适用场景:登录认证

关于常见的加密方式如上所述,不管是哪种加密方式都有自身独特的优点。大家可以根据实际需要,结合各个加密方式的特点,选择适合的加密方式,保护好数据安全,防止数据泄露。

常用的加密方式有哪些相关推荐

  1. 常用的加密方式有哪些?

    常用的加密方式有哪些? 1.直接明文保存,比如用户设置的密码是"123456",直接将"123456"保存在数 据库中,这种是最简单的保存方式,也是最不安全的方 ...

  2. Android中常用的加密方式

    Android中常用的加密方式 HmacSHA1 public static String getSignUtil(String key ,String base) {Log.i(TAG, " ...

  3. 几种常用的加密方式简单介绍

    1 Base64加密方式(可逆) Base64中的可打印字符包括字母A-Z/a-z/数组0-9/ 加号'+'斜杠'/' 这样共有62个字符 Base64 ios7之后加入系统库 android  中 ...

  4. Java中常用的加密方式

    一.Java常用加密方式 Base64加密算法(编码方式) MD5加密(消息摘要算法,验证信息完整性) 对称加密算法 非对称加密算法 数字签名算法 数字证书 二.分类 按加密算法是否需要key被分为两 ...

  5. 三方对接时常用的加密方式

    一般在三方暴露对外api时都会通过加密参数来保证数据的不可篡改行,而加密方式多种多样,像MD5.sha1.Base64.sha256.AES等各种加密编码算法. 而在验证用户方面会用到分配给用户的ap ...

  6. Android应用常用的加密方式

    Android数据加密的方式,按加密的内容是否可以还原,可以分为可逆加密和非可逆加密. 非可逆加密: 加密后的数据不能还原成原来的数据,如MD5,sha1. 可逆加密: 可逆加密有一个公钥和一个私钥, ...

  7. 常用wifi 加密方式区别

    目前无线路由器里带有的加密模式主要有:WEP,WPA-PSK(TKIP),WPA2-PSK(AES)和WPA-PSK(TKIP)+WPA2-PSK(AES). WEP(有线等效加密) WEP是Wire ...

  8. php中常用的几种加密方式以及md5加密漏洞以及解决方案

    一.md5(php中的最常用的加密方式) 在用md5进行加密时,至少要将md5加密两次以上(包含两次),或者再加上盐进行加密 二.password_hash(php5.5以上版本才可以使用) 官方说明 ...

  9. android 三种常用的加密方式

    android应用中常用的加密方式有三种:MD5,AES,RSA.在进行实际的开发过程中,一般是几种加密方式配合使用,这样加密效果会更好,被破解的概率会越小.下面我们就分别讲一下三种加密方式的实现过程 ...

最新文章

  1. Winform开发框架的业务对象统一调用方式
  2. 230套java web开发PDF书籍和CHM参考手册资料大全 免费下载
  3. 测试工具/PostMan
  4. Windos7下VirtualBox的几项误操作恢复
  5. 随机生成一个质数的python代码_使用质数生成随机密码
  6. 如何用SAP WebIDE的Fiori创建向导基于ABAP OData service快速创建UI5应用
  7. Java Jenkins Api
  8. 公用表表达式(CTE)
  9. 【Janino】Janino介绍
  10. Java并发包源码学习之AQS框架(三)LockSupport和interrupt
  11. 利用微查询和数据锐化进行大数据探索
  12. 格雷码转十进制 c语言,格雷码的转换方法
  13. 拖机软件Betwinnbsp;VSnbsp;2.0.0.368+破解…
  14. 孙玄:微服务架构何去何从?
  15. 计算机操作技能竞赛系列方案,2019 年上学期计算机文字录入操作技能竞赛
  16. 【区块链技术工坊32期】陈军:区块链+供应链金融解决方案及落地案例
  17. 台式计算机显示不了无线网络,台式电脑无线网卡不显示wifi,电脑怎样连接wifi
  18. rfid连接mysql_如何实现 RFID 数据与数据库连接?
  19. Python常用标准库(一)
  20. BZOJ 1707 [Usaco2007 Nov]tanning分配防晒霜

热门文章

  1. Ubuntu安装oracle11g
  2. 墨者学院在线靶场WP
  3. linux添加黑洞路由
  4. 用pyecharts中的Overlap叠加不同类型图表输出
  5. SeniorUI09_贝塞尔曲线运用(QQ消息气泡)
  6. 小熊奔跑动画(CSS3)
  7. php curl模拟 浏览器 伪装客户端 访问 真实可用
  8. Mac照片后期处理软件软件:Capture One 21 Pro
  9. prettier 命令行工具来格式化多个文件
  10. Cache(高速缓存)的三种地址映像方式