一、加密
1、对称加密
原理:使用秘钥和加密算法对数据进行转换,得到无意义的数据即密文;使用秘钥和解密算法对密文进行逆向转换,得到原数据。
经典算法:DES、AES
2、非对称加密
原理:使用公钥对数据进行加密得到密文;使用私钥对数据进行解密得到原数据。
金典算法:RSA(加密、签名)、DSA(专门用来设计签名)
签名原理:公钥和私钥加密的数据是可以互解的,非对称加密算法中至少有一个私钥,一个或者多个公钥。使用私钥对数据进行签名,可使用公钥解开验证私钥身份。
二、编码
1、Base64编码
Base64:将二进制数据转换成由64个字符组成的字符串的编码算法。包含A-Z,a-z,0-9,+,/共计64个字符。
二进制数据:非文本数据都是二进制数据。
2、URL encoding
三、压缩与解压缩
压缩:把数据换一种方式进行存储,以减小存储空间。
解压缩:把压缩后的数据还原成原先的形式,以便使用。
常见压缩算法:DEELATE、JPEG、MP3
常见图片、音频、视频文件的压缩、.zip文件等
四、序列化
序列化:把数据对象(内存中)转换成字节序列的过程。
反序列化:把字节序列重新转换成内存中的对象。
目的:让内存中的对象可以被存储和传输。
五、Hash
Hash:把任意数据转换成指定大小范围的数据。
作用:摘要、数字指纹。
金典算法:MD5、SHA1、SHA256等。
实际用途:
- 数据完整性验证。
- 快速查找:hashCode()和HashMap
- 保护隐私(密码的非明文传输)