Java编码加密摘要算法异同比较与总结

Posted congw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java编码加密摘要算法异同比较与总结相关的知识,希望对你有一定的参考价值。

编码算法

  1. URL编码.

  用途:数据发送给服务器使用URL编码规则.

  编码规则:A~Z,a~z,0-9,-_.*保持不变,其他字符以%xx表示。如中文:%E4%B8%AD(该汉字的的十六进制是0xe4b8ad)

    2.Unicode编码

  十六进制编码。中文和引文的编码不一样。

    3.Base64编码

  用途:把二进制数据用文本表示的算法。

摘要算法

用途:计算任意长度数据的摘要,输出固定长度.

  1.MD5摘要算法

大小:长度128位,16字节

  2.SHA-1摘要算法,通常用于数字签名.

大小:长度160位,20字节

  3.SHA-256摘要算法

大小:长度256位,32字节,是SHA1的扩充版.

MD5和SHA1比较:SHA1摘要长度比MD5长32位.如果遇上强行攻击,SHA1安全性要高于MD5.但速度上,在相同的硬件上,SHA1运行速度比MD5慢.

加密算法

  1. 对称加密算法

    DES算法/AES算法

      使用同一个密钥进行加密和解密.

      例子:WinRAR解压文件夹,使用的即为对称加密算法.

    2.非对称加密算法

    RSA算法

      使用不同的密钥进行加密和解密,公钥加密和私钥解密.除了加密以外,RSA同样可对数据进行签名.

 
各算法在数据通信中的用途:
摘要算法:确保数据从发送到接收完成过程没有被篡改.
对称/非对称加密算法:对通信数据进行加密和解密.
签名算法:确保数据完整性和抗否认性.
 
 
 

以上是关于Java编码加密摘要算法异同比较与总结的主要内容,如果未能解决你的问题,请参考以下文章

廖雪峰Java10加密与安全-3摘要算法-1MD5

java加密算法入门-算法概念及单向加密

Java加密与解密笔记 Base64和数据摘要算法

password学4——Java 加密解密之消息摘要算法(MD5 SHA MAC)

97 加密算法与消息摘要算法

java加密算法小结--MD5加密算法