此命令中是否存在生成密码的缺陷?
head -c 8 /dev/random | uuencode -m - | sed -n '2s/=*$//;2p'
用它生成几个密码后,我开始怀疑它倾向于偏向某些字符.当然人们很擅长看到没有的模式,所以我决定在更大的样本上测试命令.结果如下.
从12,000个生成(12位)密码的样本中,这里是最常见和最不常见的字母以及它们出现的次数.
TOP 10 BOTTOM 10
Freq | Char Freq | Char
-----|----- -----|-----
2751 | I 1833 | p
2748 | Q 1831 | V
2714 | w 1825 | 1
2690 | Y 1821 | r
2673 | k 1817 | 7
2642 | o 1815 | R
2628 | g 1815 | 2
2609 | 4 1809 | u
2605 | 8 1791 | …Run Code Online (Sandbox Code Playgroud) 我一直在阅读关于数据建模中的自然键与代理键的激烈辩论,并且需要明确的是,我并不是想在这里讨论这个棘手的问题。我想知道的是,好的自然键的最佳示例是什么?
我在网上找到的似乎都是一些人认为可能有用但结果却并非如此的密钥,比如社会安全号码。(对于这一点:隐私问题,不是每个人都有一个,死后重复使用,身份盗窃后可以更改,可以兼作营业税 ID。)
我自己的猜测是,国际标准化代码(ISBN、VIN、国家代码、语言代码)将是很好的密钥。