网络加密技术
加密技术:利用技术手段把数据变为乱码(加密)传送,到达目的地后再用 相同或不同的手段还原(解密)。
哈希加密
基本原理
哈希函数是一个单向函数,它将目标文本转化为固定长度的字符串。由于是单向函数,不具备可逆性,实现加密保护。
Q:我用哈希函数加密了明文,从此以后,不仅攻击者解读不了加密后的字符串,我也不懂了鸭?
A:某些应用场景是不需要解密的,即,被保护的数据只需要做验证,举个栗子:
简单的用户登录场景
你的用户名与密码存储(没有使用哈希加密)在服务器数据库中,当服务器数据库泄露数据时,你的用户名与密码也就泄露了。
假设,你的用户名和密码经过哈希加密,那么服务器数据库中将存储加密后的密文,即使泄露数据也是一大堆哈希字符串。
而正常的登陆验证过程,只需要验证密文是否已知就行不需要知道明文。如下图:
常用的哈希函数
- MD5
- SHA
- MAC
- CRC
- SM3(国产哈希算法)
对称加密(单密钥加密)
基本原理
加密: R = E ( S , K e ) R=E(S,K_e) R=E(S,Ke)R为密文, S为明文, K e K_e Ke为密钥,经过函数 R R R后,明文变密文;
解密: S = D ( R , K e ) S=D(R,K_e) S=