首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >密码GUID?

密码GUID?
EN

Cryptography用户
提问于 2012-08-09 21:34:09
回答 2查看 2.1K关注 0票数 7

我需要一个胆小鬼。真的,任何可能是唯一的数字。但是,我不喜欢泄漏时间和其他东西,因为一个GUID可能会泄漏。我应该使用什么作为密码替换?我在想,也许我可以使用PBKDF2,使用GUID +盐分/胡椒,但也许这有点过分,或者不是我想要的?

EN

回答 2

Cryptography用户

发布于 2012-08-09 23:51:54

我不认为你能比你能生成的最佳随机数做得更好。

票数 10
EN

Cryptography用户

发布于 2012-08-13 10:58:37

听起来,您需要一个由Python函数UUID生成的"version 4 uuid.uuid4()“。

正如在RFC 4122中定义的,Version4UUID有6个固定位(表明这是一个“Version4UUID”)和122个随机生成的位。

(对于您的应用程序,它可能更简单,因此更好地获取一个完整的128个随机位,并直接使用,正如David建议的那样)。

版本4的UUID通常作为128位的原始数组在内部存储,通常以如下格式显示:

代码语言:javascript
复制
uuid:xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx

其中x是任意(随机选择的)十六进制数字,y是从8、9、a或b中随机选择的。

由于6个固定位对于每个UUID都是相同的(不管是什么机器创建的,或者是什么时候创建的),其余的122位都是随机生成的,所以版本4 UUID中没有任何信息可以识别创建它的机器或何时创建它。

“随机选择”值最好来自密码安全伪随机数生成器,如/dev/随机、硬件随机数生成器等。

这些“随机选择”的值最好不是来自“不安全”的随机数源,例如Python函数随机()、基本函数rand()、C stdlib函数rand()等等。

票数 6
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/3495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档