常用的加密算法

概述

  • 加密算法分为单向加密双向加密,明文数据通过加密后传输,以确保传输和存储安全
  • 单向加密包括 MD5、SHA、BCrypt 加密算法等,它是不可逆的,也就是无法将加密后的数据恢复成原始数据,除非采用碰撞等方式,一般账户密码的存储是采用单向加密方式
  • 双向加密是可逆的,存在密文的密钥,持有密文的一方可以根据密钥解密得到的原始明文,一般用于发送方和接收方都能通过密钥获取明文信息,双向加密包括对称加密和非对称加密。对称加密包括 DES、AES 加密,非对称加密包括 RSA、ECC 加密

算法介绍

MD5 算法

  • MD5 为计算机安全领域广泛使用的一种散列函数,用以提供消息完整性的保护,是一种消息摘要算法,它是不可逆的
  • MD5 广泛用于软件的密码认证和钥匙识别上

SHA-1、SHA-2 算法

  • SHA-1 是和 MD5 一样流行的消息摘要算法,SHA 加密算法模仿 MD4 加密算法,它比 MD5 安全性更强
  • SHA-2 是 SHA-1 的继承者,SHA-1 是 160 位的哈希值,SHA-2 是组合值,有不同的位数,最受欢迎的是 256 位

AES 算法

  • AES 加密算法是密码学中高级加密标准,该加密算法采用对称分组密码体制,密钥长度最少支持为 128、192、256,分组长度为 128 位,算法应易于硬件和软件实现
  • 这种加密算法是美国联邦政府采用的区块加密标准,用来替代 DES

DES 算法

  • DES 加密算法是一种分组算法,以 64 位为分组对数据加密,它的密钥长度是 56 位,加密解密采用同一算法。
  • DES 加密是对密钥进行保密,而公开算法,这样只有拥有密钥的人才能解读数据,因此破解 DES 加密算法实际上就是搜索密钥的编码
  • 随着计算机的发展,DES 的安全性相对较弱

RSA 算法

  • RSA 加密算法是目前最有影响的公钥加密算法,并被普遍认为是目前最优秀的公钥方案之一
  • RSA 是第一个能同时用于加密和数字签名的算法,能抵制目前为止已知的所有密码攻击,被 ISO 推荐为公钥加密标准

Base64 算法

  • Base64 加密算法是最常见的用于传递 8bit 字节码的编码方式之一
  • 计算机任何数据都是按 ascii 码存储的,而 ascii 码的 128~256 之间的值是不可见字符,由于不同设备对字符处理方式有不同,可能会导致错误,不利于传输,所以把数据作为一个 Base64 编码,统统变成可见字符,出错可能性就降低了
  • Base64 是取 6 个比特为一组,计算它的 ascii 值,得到一个可见字符,在解码时按 6 个比特进行解码并读取,如 01010101101 等比特流,取 010110 计算它的 ascii 码,转化为可见字符,因此 Base64 还具备了数据压缩能力

Bcrypt 算法

  • MD5 之所以能被轻易暴力破解的原因在于它速度“太快”,而 Bcrypt 能减缓加密过程,加密时间比 MD5 慢,也因此比 MD5 安全,因为通过暴力破解方式需要非常长的时间
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇文章主要讲述在Mobile BI(移动商务智能)开发过程中,在网络通信、数据存储、登录验证这几个方面涉及的加密...
    雨_树阅读 2,896评论 0 6
  • 常用的加解密算法分三大类:非对称密钥加密算法、对称密钥加密算法、Hash加密算法 非对称密钥加密算法常见算法:RS...
    茶铺里的水阅读 1,880评论 0 0
  • 概述 之前一直对加密相关的算法知之甚少,只知道类似DES、RSA等加密算法能对数据传输进行加密,且各种加密算法各有...
    Henryzhu阅读 3,081评论 0 14
  • 在开发应用过程中,客户端与服务端经常需要进行数据传输,涉及到重要隐私安全信息时,开发者自然会想到对其进行加密,即使...
    闲庭阅读 3,365评论 0 11
  • 2016年寒招,小曼参加了,毫无意外,当她来到了母校,见到了许多熟悉的老同学,高中毕业晚会后,散场一年,...
    笑笑主阅读 289评论 0 0