我偶然发现了一个桌面项目(特别是一个可执行程序),它不断地/重复地/连续地生成随机数据串。下面是它下面的预览:客户端密码生成器(Javascript)
不过,我想中的JavaScript代码。由于这个想法相当困惑,我不能简单地从零开始,并希望这里的任何人是否已经开发了类似的东西,或者有什么想法可以在JavaScript中这样做来给我一些信息或其他资源,也许jQuery插件管他呢。
预先感谢您!
我偶然发现了一个桌面项目(特别是一个可执行程序),它不断地/重复地/连续地生成随机数据串。下面是它下面的预览:客户端密码生成器(Javascript)
不过,我想中的JavaScript代码。由于这个想法相当困惑,我不能简单地从零开始,并希望这里的任何人是否已经开发了类似的东西,或者有什么想法可以在JavaScript中这样做来给我一些信息或其他资源,也许jQuery插件管他呢。
预先感谢您!
这看起来并不难,除了Javascript的Math.random
不是高质量的随机数字源。您可以参考最近发布的一些关于如何改进这一点的想法。
一旦你有了这些,将随机数字流转换成不同的格式应该是直截了当的,并且使用鼠标移动来增加熵也不难。
哪个部件让你感到特别困难?
更新:
我贴在JSFiddle的部分版本。这只是显示该领域如何不断更新和冻结。但它对密码学没有任何作用。您仍然需要将鼠标移动转换为一组数字值,以用作更鲁棒的随机数生成器的输入。但将鼠标移动转换为数字非常简单。再次,请查看Web Cryptography API了解更多信息。
它使用这些代码片段:
var getRandomHexDigit = function() {
return (Math.floor(16 * Math.random())).toString(16).toUpperCase();
}
和
setInterval(function() {
hex.value = hex.value.substring(1) + getRandomHexDigit();
}, 50);
SO是不是真的帮助在开发过程的早期。但是,您可以通过['passgen'](https://github.com/defuse/passgen)(CLI)和['WinPassGen'](https://github.com/defuse/WinPassGen)在线查找源代码。 (GUI)以及[PHP端口](https://github.com/defuse/php-passgen)。 –
PHP源代码不适合我。你可以在你的最后运行它吗? – Keeper