gpt4 book ai didi

c# - 此代码生成的 ID 的安全性如何?

转载 作者:行者123 更新时间:2023-11-30 23:04:42 25 4
gpt4 key购买 nike

我正在生成一个 ID 以供在我的应用程序中使用,用户可以在其中相互连接。为了识别,我使用了一个 ID,有点像 teamviewer。我希望它既独特又加密安全/难以猜测。所以我生成了一个 GUID,以及 8 个字节的安全数据,并简单地将它们连接起来。我的问题是这个 ID 专门针对暴力攻击的安全性如何? ID 示例:dKNqrkHImQ9A9ulu8DOvYDLS3x2U8k0d

我的代码:

public static string MakeBase64ID()
{
int postkeylength = 8; //bytes
byte[] prekey = CreateCryptographicallySecureGuid().ToByteArray();
byte[] postkey = CryptoRandomByteArr(postkeylength);

byte[] ID = new byte[prekey.Length + postkeylength];
Array.Copy(prekey, ID, prekey.Length);
Array.Copy(postkey, 0, ID, prekey.Length, postkey.Length);

return Convert.ToBase64String(ID);
}

public static Guid CreateCryptographicallySecureGuid()
{
return new Guid(CryptoRandomByteArr(16));
}

public static byte[] CryptoRandomByteArr(int length)
{
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
byte[] buffer = new byte[length];
rng.GetBytes(buffer);
return buffer;
}

最佳答案

它包含 64 位密码随机性。这取决于暴力破解的速度,这有多安全。如果每秒尝试 100 万次,则需要 2^64/1e6/86400/365=584942 年。这是非常安全的。

如果暴力破解必须通过互联网,那么速度可能也会下降到每秒 100 次尝试。

64 位比大多数密码更安全。

从实用的角度来看,我也喜欢这个方案。这是一个生成无法猜测的 ID 的好系统。

关于c# - 此代码生成的 ID 的安全性如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49221120/

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