我偶然發現了一個桌面項目(特別是一個可執行程序),它不斷地/重複地/連續地生成隨機數據串。下面是它下面的預覽:客戶端密碼生成器(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