gpt4 book ai didi

java - 代币生成方案比较

转载 作者:行者123 更新时间:2023-12-01 13:23:00 29 4
gpt4 key购买 nike

我们正在为 SOAP 服务定义时间敏感的 token 生成方案。目前我们有两个想法,但不确定哪个更好以及为什么。

方案1:

开头和结尾的兰特不会添加任何特定的值,但其想法是添加一小层盐。

发件人

<token>rand(6) ++ encrypt(time) ++ rand(6)</token>

接收器

enc = token.substring(6,token.len-6)
time = decrypt(enc)
assert(time is within +/- range)

方案2:

这里我们将随机数加密到 token 中。

发件人

<token>encrypt(rand(6) ++ encrypt(time) ++ rand(6))</token>

接收器

dec = decrypt(token)
time = dec.substring(6,dec.len-6)
assert(time is within +/- range)

所以我不仅在寻找最好的答案,而且还在寻找为什么它是最好的。我查找了一些文档或最佳实践,但由于缺乏 IEEE 文档,我还没有找到太多。如果您有任何可以向我们提供的文件,我们将不胜感激!

最佳答案

在您提出的两个方案中,第一个方案并没有真正解决加盐的目标。来自 Wikipedia :

The primary function of salts is to defend against dictionary attacks and pre-computed rainbow table attacks

我希望每次加密时加盐都会以不同的方式加密相同的序列。例如(使用您的示例)

  encrypt(rand(6) + encryptable)

使得同一序列的多次加密需要单独解密。

如果您需要唯一的 token ,而不是依赖时间戳,为什么不使用 GUID

关于java - 代币生成方案比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21937426/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com