2013-08-20 3 views
-1

Я наткнулся на проект рабочего стола (в частности, исполняемую программу), который постоянно/непрерывно генерирует случайные строки данных. Вот предварительный просмотр его ниже:Генератор паролей с клиентом (Javascript)

enter image description here

Однако, я хотел бы, чтобы закодировать, что в JavaScript. Поскольку идея довольно озадачена, я не могу просто начинать с нуля и надеялся, что кто-нибудь здесь разработает нечто похожее или имеет какое-либо представление о том, как я могу сделать это в Javascript, чтобы дать мне некоторую информацию или другие ресурсы, возможно, плагины jQuery или что-то еще.

Спасибо заранее!

+0

SO не действительно для оказания помощи в этом в начале процесса разработки. Но вы можете найти исходный код онлайн как ['passgen'] (https://github.com/defuse/passgen) (CLI) и [' WinPassGen'] (https://github.com/defuse/WinPassGen) (GUI), а также [порт PHP] (https://github.com/defuse/php-passgen). –

+0

PHP-источник не работает для меня. Не могли бы вы запустить его на своем конце? – Keeper

ответ

1

Это не выглядит особенно сложно, за исключением того, что Javascript Math.random не является высококачественным источником случайных чисел. Вы можете взглянуть на некоторые из недавно выпущенных версий Web Cryptography API, чтобы узнать, как улучшить это.

Как только вы это сделаете, преобразование потока случайных чисел в разные форматы должно быть простым, а использование движений мыши для добавления энтропии также не должно быть затруднительным.

Какие детали поражают вас как особенно трудные?

Update:

Я отправил частичную версию на 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); 
+0

Движущаяся часть поколений. Эффект их выхода из поля и «прибытие» следующей строки, которая была сгенерирована. – Keeper

+0

@JoshGreenary: Я не знаю, оказывает ли мое обновление какую-либо помощь в решении ваших проблем. (Мне непонятно, что вы подразумеваете под «движущейся частью поколений hte».) По крайней мере, это приведет вас в правильном направлении? –

+0

Да, это полностью удовлетворяет мое любопытство! Спасибо за ваше время :) – Keeper

Смежные вопросы