网络安全-加密
1.概念
- 明文:需要被加密的消息,一般是人直接可以阅读理解的内容。(plaintext)
- 密文: 被加密后的消息,一般是人不可直接阅读并理解的。(ciphertext)
- 加密:将明文转换成密文的过程。(encryption)
- 解密:将密文恢复成明文的过程。(decryption)
- 加密算法: 对明文进行加密时所使用的算法。
- 解密算法:对密文进行解密时所使用的算法。
- 加密密钥:encryption key.
- 解密密钥 :decryption key.
2.网络安全的四种威胁
1.截获(比如抓包抓到了你传输的消息)
2.篡改(截获消息然后修改掉再发送,破坏消息的完整性)
3.伪造 (比如非法源站冒充合法源站给目的站发消息)
4.拒绝服务(向目的站发起大量的恶意连接或者发送大量无意义消息使得服务瘫痪)
3.常用加密解密算法
常见的加密算法分为对称加密算法、非对称加密算法和信息摘要算法。
- 对称加密算法 :DES,3DES,AES
- 非对称加密算法:RSA,DSA
- 信息摘要算法:MD5,SHA
3DES(或称为Triple DES)是非常常用的对称加密算法,是对DES算法的增强,它相当于是对每个数据块应用三次DES加密算法。
在GG即时通信系统 4.5的客户端源码中,Des3Encryption类是实现3DES算法的类,我是根据3DES的算法原理实现的,可能与某些标准的3DES算法实现细节不一样,但是,使用其进行3DES加密、解密是完全能正常运作的。
对于某些重要的消息而言,这样明文传输的方式实在是太危险了。
将string使用utf-8或unicode编码成byte[]后,再做一次加密运算,得到一个新的byte[],然后将这个新的byte[]通过网络发送给对方;对方接收到byte[]后,先将其做解密运算,然后再用utf-8或unicode转为string。
这样,即使在网络传送过程中的某个环节byte[]被恶意截取了,拦截者也无法正确的解析它。
md5是一种哈希算法,特点是不能解密。