c# - (.NET) 生成随机、易记密码的简单方法

标签 c# asp.net random passwords guid

我有一个项目正在进行中,我需要将一个密码与一个项目相关联。
密码应完全不连续或易于猜到,但又易于内存。

我想过做这样的事情。

string rand = System.Guid.NewGuid().ToString();
rand.Substring(0,3);

返回 GUID 的前 4 位数字。

我想知道是否还有其他人在研究类似的东西,并且可能有比这更好的解决方案。

安全性很重要,因为我们不希望人们能够猜出数字,但是这不是处理金钱或个人数据,因此它不必具有 NSA 能力:)

谢谢大家!

最佳答案

人们记住单词比记住代码...

http://imgs.xkcd.com/comics/password_strength.png

所以一个简单的方法是生成密码而不是乱码。

最简单的方法是在数据库或字典中列出几千个单词,然后随机选择其中的 3 或 4 个。

您使用的单词越多,黑客就越难猜到 - 3,000 个单词中的 3 个将很难猜到,而 20,000 个单词中的 4 个单词将有 1,600,00,000,000,000,000 种组合。

关于c# - (.NET) 生成随机、易记密码的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1564182/

相关文章:

c# - 结合表单例份验证和基本身份验证

java - 在 Java 中生成唯一的随机数

JavaScript 数组和随机数

C# 与 C : Organizing Data Structures

c# - 在 WPF 中设置子项的父属性

asp.net - BundleTable.Bundles.GetBundleFor() 返回但不返回 Items inside

asp.net - 在ASP.NET Web应用程序内部托管Powershell

c# - 使用 lock(typeof(string)) 的含义是什么

java - 接收时 UDP 服务器中的 "An existing connection was forcibly closed by the remote host"

c# - 随机代码生成器需要帮助