(原创)Java常用加密技术区别

目录

一、单向加密

1.MD5

2.SHA

二、双向加密

A.对称加密

1.DES

2.AES

B.非对称加密

1.RSA

三、其他

1.Base64


一、单向加密

  • 特点:又称“哈希算法”,或“摘要算法”,做信息摘要,加密结果长度固定,且无法解密。同一个文件加密结果相同,不同文件可能出现相同的加密结果,但是概率很小,这种出现相同结果的现象称之为:碰撞。
  • 用途:单向加密主要用于校验所传递信息的一致性和完整性。如文件是否需要重新上传、是否上传完整、数据是否被修改。

1.MD5

  • MD5即Message-Digest Algorithm 5(信息-摘要算法 5),MD5的前身有MD2、MD3和MD4。

  • 随着硬件水平和算法的提升,MD5算法目前已经不再可靠。这里的破解并不是将摘要还原,而是制造碰撞,即制造能产生相同摘要值的信息。具体方法有暴力穷举、字典法等等。

  • MD5是输入不定长度信息,输出固定长度128-bits的算法。

2.SHA

  • SHA算法包括SHA-1、SHA-2、SHA-3三代,其中SHA-2包含SHA-224、SHA-256、SHA-384、SHA-512,后面的数字即为加密后的bit位数,越长出现碰撞的概率越低。同理,SHA-3也包括SHA-64、SHA-224、SHA-256、SHA-384、SHA-512。如SHA-64加密的结果长度为16个字符,每个4位,所以为64bit。

二、双向加密

  • 特点:加密结果可以通过解密得到原始串。

A.对称加密

  • 特点:加密解密用同一个秘钥。

1.DES

  • DES是一个分组加密算法,典型的DES以64位为分组对数据加密,加密和解密用的是同一个算法。

2.AES

  • AES支持三种长度的密钥:128位,192位,256位,平时所说的AES128,AES192,AES256,实际上区别就是AES算法中,不同长度的密钥。
  • AES在拆分明文块时支持多种填充方式,如:NoPadding、PKCS5Padding(默认)、ISO10126Padding等,加密、解密需要采用相同的填充方式。
  • AES的工作模式,体现在把明文块加密成密文块的处理过程中。AES加密算法提供了五种不同的工作模式,如:CBC、ECB、CTR、CFB、OFB。加密、解密需要采用相同的工作模式。

 

B.非对称加密

  • 特点:加密解密用不同的秘钥,通常分为公钥和私钥。

1.RSA

  • 秘钥可以是文件,也可以是字符串的形式。

三、其他

1.Base64

  • Base64只算是一种编码格式,用于让加密结果易于传输,完全没有安全性,加密的逆过程即为解密。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值