【发布时间】:2019-09-25 11:37:31
【问题描述】:
我正在开发一个使用JWT-library 来确保安全的网络应用程序。我注意到处理令牌解密的 JWT 库正在消耗大量服务器的 CPU。当前配置定义如下。
JweAlgorithm.PBES2_HS512_A256KW, JweEncryption.A256CBC_HS512
测试时,对此进行 1000 次后续调用需要 87 秒。我发现的最快替代方法是:JweAlgorithm.PBES2_HS256_A128KW, JweEncryption.A128GCM,耗时 27s。
你能推荐比这更快的东西吗?
【问题讨论】:
-
密码学本来就是要慢的……否则你可以强行使用它。
-
不一定,全看算法的独创性。至少这是对加密的承诺——你可以拥有单向函数,它的解码速度比编码慢得多。我不相信密码学意味着要慢。
-
这不是密码散列算法,如 PBKDF 或 brcypt。它根本不必很慢
-
如果可以解码,就可以编码。如果时间不是一个因素,你有无限的时间来解码它。如果解码,您可以对其进行编码。那么为什么不直接使用明文呢?很简单:因为时间是一个因素。这就是令牌有生命周期的原因。
-
当然,这是关于权衡的。我在问 JWT 提供的最快算法是什么。