Java编码加密摘要算法异同比较与总结
Posted congw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java编码加密摘要算法异同比较与总结相关的知识,希望对你有一定的参考价值。
编码算法
- 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慢.
加密算法
- 对称加密算法
DES算法/AES算法
使用同一个密钥进行加密和解密.
例子:WinRAR解压文件夹,使用的即为对称加密算法.
2.非对称加密算法
RSA算法
使用不同的密钥进行加密和解密,公钥加密和私钥解密.除了加密以外,RSA同样可对数据进行签名.
各算法在数据通信中的用途:
摘要算法:确保数据从发送到接收完成过程没有被篡改.
对称/非对称加密算法:对通信数据进行加密和解密.
签名算法:确保数据完整性和抗否认性.
以上是关于Java编码加密摘要算法异同比较与总结的主要内容,如果未能解决你的问题,请参考以下文章