Logo
Section 1 / 6

密码学

了解如何在认证API、存储密码以及传输HTTPS消息时使用加密和哈希技术。

导入

密码学

了解如何在认证API、存储密码以及传输HTTPS消息时使用加密和哈希技术。

...
凯撒密码,向右偏移23位
...
通过 jwt.io 调试 HS256 JWT

No configuration found for ID: 58a9195d9d5445d682dce84aca4547f832bcd939c8fb442639beeea47c72cb49

No configuration found for ID: e3108a5c83054118a79f4632e162c8d43e6d53db218c09ea25641ba187c7a15b

No configuration found for ID: a64af8c703b4d1710e395f02259bdc1cabbe0b95b3c6bffff03ea580dda6508e

No configuration found for ID: 6024910d36b1cefa9605b48cd4329bea52317bc5632d484610aa735e424526cd

No configuration found for ID: bd323be3357fa5ba591fb24a5dea1f072eabd3524e066ef8346bfcc2e559acf1

...
通过 jwt.io 调试 RS256 JWT

通过使用私钥对 JWT 签名进行加密或哈希,我们确保了其真实性:如果令牌通过验证,就证明只有我们才能生成它,因为只有我们知道私钥。这种具备数据真实性的加密方式有时被称为 **认证加密**。应始终使用认证加密,而不是普通的加密方式。同时,我们也部分防范了 **中间人攻击**,即有人拦截发给他人的一条消息,以窃听或篡改信息。由于签名生成时会使用载荷内容,若攻击者试图在传输过程中修改载荷,签名也必须随之改变,但他们没有私钥,无法重新生成有效的签名。因此,被篡改的载荷将无法通过签名验证。

...
...
...

HTTPS 实际上是 HTTP 加上基于 **TLS(传输层安全)** 的数据加密。两者都是用于在互联网上传输消息的协议。TLS 基于 **SSL(安全套接层)** 开发,作为其替代方案。如今人们所说的 SSL,实际上通常指的是 TLS。SSL 和 TLS 也使用非对称加密技术,涉及公钥和私钥,正如我们在 JWT 中所见。但当使用公钥时,始终存在一个关键问题:如何正确识别公钥的所有者。

结论

Cookie