加密

2021-10-09  本文已影响0人  Amy木婉清
对称加密:
image.png

原理:使用秘钥和加密算法对数据进行转换,得到的无意义数据即为密文;使用密钥和解密算法对密文进行逆向转换,得到原数据。
经典算法: DES AES

非对称加密

原理:使用公钥对数据进行加密得到密文,使用私钥对数据进行解密得到原数据。


image.png

加密密钥----公钥
解密密钥----私钥
延伸用途:数字签名
非对称加密----公钥可以解私钥
椭圆曲线----私钥可以算出公钥
RSA---公钥关键的一部分是一样的(公钥私钥不能交换)
签名与验证:私钥签名,公钥验证


image.png
加密+签名
image.png image.png

经典算法:RSA,DSA

密码学密钥和登录密码

密钥(key)
场景:用于加密和解密
目的:保证数据被盗使不会被人读懂内容
焦点:数据
登录密码(password)
场景:用户进入网站或游戏前的身份验证
目的:数据提供方或应用服务方对账户拥有数据的保护,保证(你是你)的时候才提供权限
焦点:身份

Base64

将二进制数据转换成由64个字符组成的字符串的编码算法
什么是二进制数据? 1010......
非文本数据就是二进制数据
用途:让原数据具有字符串所具有的特性,如可以放在URL中传输,可以保存到文本文件、可以通过普通的聊天软件进行文本传输。
把原本人眼可以读懂的字符串变成读不懂的字符串,降低偷窥风险。
Base64加密传输图片,可以更安全和高效,真的么?
不是,安全是要加密;也不高效,数据变长,速度变慢。
变种:Base58

URL encoding

将URL中的保留字符使用百分号"%"进行编码
目的:消除歧义,避免解析错误

压缩与解压缩

压缩:把数据换一种方式来存储,以减小存储空间
解压缩:把压缩后的数据还原成原先的形式,以便使用
常见压缩算法:DEFLATE HPEG MP3
压缩属于编码么?
压缩属于编码的一种

媒体数据的编码解码

图片的编码:把图像数据写成JPG、PNG等文件的编码格式
图片的解码:把JPG、PNG等文件中的数据解析成标准的图像数据
音频、视频的编解码

序列化

序列化:把数据对象(一般是内存中,例如JVM中的对象)转换成字节序列的过程
反序列化:把字节序列重新转换成内存中的对象
目的:让内存中的对象可以被存储和传输
序列化是编码么?
序列化就是将很乱的数据有序化,所以称不上编码。

Hash

定义:把任意数据转换成指定大小范围(通常很小)的数据
作用:摘要、数字指纹
经典算法:MD5、SHA1、SHA256等
实际用途:数据完整性验证 、快速查找:hashcode()和HashMap、隐私保护
Hash是编码么?
不是。
Hash不是加密;MD5不是加密。


image.png
字符集

含义:一个由整数向现实世界中的文字符号尚未Map
分支:
ASCII:128个字符,1字节
ISO-8859-1:对ASCII进行扩充,1字节
Unicode:13万个字符,多字节
UTF-8:Unicode的编码分支
UTF-16:Unicode的编码分支
GBK/GB2312/GB18030:中国自研标准,多字节,字符集+编码

上一篇 下一篇

猜你喜欢

热点阅读