Java中如何实现加密、摘要、签名、证书、SSL和HTTPS等安全机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计4277个文字,预计阅读时间需要18分钟。
对一般开发人员而言,很少需要深入研究安全领域的底层技术。但日常系统开发中,熟悉并理解这些安全技术的基本原理和使用场景是必要的。
对于一般的开发人员来说,很少需要对安全领域内的基础技术进行深入的研究,但是鉴于日常系统开发中遇到的各种安全相关的问题,熟悉和了解这些安全技术的基本原理和使用场景还是非常必要的。本文将对非对称加密、数字摘要、数字签名、数字证书、SSL、HTTPS等这些安全领域内的技术进行一番简要的介绍,解释他们之间的关系,同时补充一些周边话题。
安全领域的技术众多,但是归根结底,他们都是为了保障如下三个方面:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器
2)加密数据以防止数据中途被窃取
3)维护数据的完整性,确保数据在传输过程中不被改变。
对称加密和非对称密钥加解密
对于一份数据,通过一种算法,基于传入的密钥(一串由数字或字符组成的字符串,也称“key”),将明文数据转换成了不可阅读的密文,这是众所周知的“加密”,同样的,密文到达目的地后,需要再以相应的算法,配合一个密钥,将密文再解密成明文,这就是“解密”。如果加密和解密使用的是同一个密钥,那么这就是“对称密钥加解密”(最常见的对称加密算法是DES)。如果加密和解密使用的是两个不同的密钥,那么这就是“非对称密钥加解密”(最常用的非对称加密算法是RSA)。
本文共计4277个文字,预计阅读时间需要18分钟。
对一般开发人员而言,很少需要深入研究安全领域的底层技术。但日常系统开发中,熟悉并理解这些安全技术的基本原理和使用场景是必要的。
对于一般的开发人员来说,很少需要对安全领域内的基础技术进行深入的研究,但是鉴于日常系统开发中遇到的各种安全相关的问题,熟悉和了解这些安全技术的基本原理和使用场景还是非常必要的。本文将对非对称加密、数字摘要、数字签名、数字证书、SSL、HTTPS等这些安全领域内的技术进行一番简要的介绍,解释他们之间的关系,同时补充一些周边话题。
安全领域的技术众多,但是归根结底,他们都是为了保障如下三个方面:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器
2)加密数据以防止数据中途被窃取
3)维护数据的完整性,确保数据在传输过程中不被改变。
对称加密和非对称密钥加解密
对于一份数据,通过一种算法,基于传入的密钥(一串由数字或字符组成的字符串,也称“key”),将明文数据转换成了不可阅读的密文,这是众所周知的“加密”,同样的,密文到达目的地后,需要再以相应的算法,配合一个密钥,将密文再解密成明文,这就是“解密”。如果加密和解密使用的是同一个密钥,那么这就是“对称密钥加解密”(最常见的对称加密算法是DES)。如果加密和解密使用的是两个不同的密钥,那么这就是“非对称密钥加解密”(最常用的非对称加密算法是RSA)。

