cryptography - 如何从给定的 GUID 预测下一个 GUID?

标签 cryptography email guid cryptanalysis

我已经向我们的客户发送了 10000 封邮件,每封邮件都有一个格式的链接

http://example.com/LogIn?key={guid}

不幸的是guid我发送的是随机 guids(由 Guid.NewGuid() 生成的测试数据),因此客户都收到了无效链接...

根据我从网络服务器收到的 404,我发送了一些 guid。我读到 Windows 中的 guid 生成器很弱,​​因此您可以从已有的 guid 中预测下一个 guid。有谁知道怎么做?如果我能做到这一点,我可以使我发送的 guid 有效,以便链接再次工作。

最佳答案

Windows 生成 GUID 的方式已经改变了几次,互联网上许多看似可靠的建议是完全错误的(可能只是过时了,也可能总是完全错误)。

上次我研究这个(几年前,可能是 XP SP2)时,我直接进入操作系统代码看看实际发生了什么,它生成了一个带有 secure random number generator 的随机数。 .

如果您以默认方式生成它们,我怀疑您会很幸运地从另一个 GUID 中预测出它们。

关于cryptography - 如何从给定的 GUID 预测下一个 GUID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/816882/

相关文章:

cryptography - OpenSSL gost 引擎问题

html - 将自动生成的链接更改为带有发送给客户的电子邮件中的文本的按钮

c# - 如何在 Visual Studio 中添加对项目的 .dll 引用

php - 如何生成顺序 GUID?

比较 C 中的两个 GUID

c# - 虚拟机上的重复 GUID

java - 没有命名常量的标准名称

c# - 使用 Rijndael 解密时为 "Padding is invalid and cannot be removed"

php - 使用 Javascript 和 PHP 将表单数据提交到两个位置?

python - 使用 pyca/cryptography 的 DES 密码 (PBEWithMD5AndDES)