0

所以基本上我正在尝试使用cookie登录用户并且不查询数据库以提高性能

这是一个简短的想法:

  1. 通过 SSL 传输所有内容
  2. 设置全局密钥 A 和密钥 B
  3. 在注册和密码更改时生成随机验证字符串
  4. 用A加密验证字符串,存入cookie
  5. 用B加密验证字符串,存入cookie
  6. 当用户尝试登录时,我用 A 和 B 解密每个字符串,比较它们是否匹配

我想知道如果它是一个好主意:

我怎样才能在 Java 中使用 bouncycastle ASE-256、Digest 或其他方式进行加密?

与通过将会话变量存储在 Redis 等超快速数据库中的身份验证相比,此加密/解密过程对性能的影响有多大

如果不是:我该怎么办..

4

1 回答 1

2

当您解密验证数据是否存在于身份验证令牌(cookie)中时,您可以简单地将已知值与身份验证数据一起加密。无需使用两个键。

与数据库的速度差异取决于数据库配置以及执行的加密。我宁愿先选择一个经过验证的方案,然后再发明自己的方案,如果性能让你别无选择。

在http://security.stackexchange.com上更好地验证了方案。

于 2013-03-05T17:36:48.160 回答