参考资料:
对称加密和非对称加密
MD5加密算法
MD5原理
对称加码和非对称加密
对称加密
对称加密是指:加密和解密使用同一个秘钥,所以叫对称加密,对称加密只有一个秘钥作为私钥
常见的对称加密算法有:DES,AES
非对称加密
非对称加密是指:加密和解密使用不同的密钥,一把作为公开的公钥,一把作为私钥,公钥加密的信息只有私钥才能解密,私钥加密的信息只有公钥才能解密
常见的非对称加密算法有:RSA
区别
对称加密相对于非对称加密,加解密的效率会高跟多,缺点在于密钥的管理上,以及在非安全通道中通讯时,密钥交换的安全不能得到保证,所以在实际网络中,会将两个混合使用
例如针对C/S模型:
1.服务器端计算出一对密钥pub/pri,将公钥公开,私钥保密
2.客户端请求服务器时,拿到服务端的公钥
3.客户端通过对称加密算法得出一个对称加密的密钥X,然后用pub将X进行加密
4.客户端将加密后的密文发送给服务器,服务器通过私钥解密得到密钥X
5.然后两端就通过对称加密算法,进行加解密
RSA原理
https://blog.csdn.net/u014079662/article/details/61169607
MD5
简介
MD5:MessageDigestAlgorithm 5(信息摘要算法),是一种将字符串经过一系列计算处理之后,得到一个32位的16进制串,比如(ADAF1231A1B4AF12ADAF1231A1B4AF12),通常下载文件时,可以使用MD5校验,检查文件是否被修改过了
原理
MD5会首先将字符串转换成二进制,然后对这些二进制进行一系列非线性运算和移位操作,最终得出一个32位的16进制串
特点
- 不同的字符串可能得到相同的MD串
- 不可能,只有MD5串不能得到源文件,因为MD5计算过程中有移位和非线性转换,作为逆推代价很大
- 比般情况,不管是大文件还是小文件,只要更改里面的一个字符串,MD5都会改变,因为在MD5的生成过程中每一个二进制位,都会参与计算