2014-01-31 2 views
1

Когда вы подписываетесь на кошелек на blockchain.info (https://blockchain.info/wallet/new), они генерируют кодовую фразу с длинной мнемонической (diceware style) из вашего короткого (10+ символов) пароля. Эта длинная мнемоническая кодовая фраза может быть использована для восстановления потерянного пароля.Как blockchain.info генерирует мнемоническую кодовую фразу?

Я хочу попробовать что-то подобное, но я действительно не знаю, как это работает.

Есть ли имя для этого?

Есть ли примеры с открытым исходным кодом?

+0

Вы можете показать нам картину, или какой-то код? Этот вопрос как-то вряд ли поможет кому-либо. Если вы ищете библиотеку, это не по теме. – elclanrs

+0

, вероятно, проще просто проверить это. Перейдите по адресу: https://blockchain.info/wallet/new - просто введите пароль и капчу, и вы увидите мнемонику. – NotSoSmart

ответ

1

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

Что-то вроде:

SELECT key, username, password FROM table WHERE key = ENCRYPT("around guide speed slings 
dislodge arise espe matthias rosenfeld unmade defy graef grumbles hamed haw hermit 
hobbes"); 

//returns 
//key="ABC123" 
//username="DEF456" 
//password="GHI789" 

Затем они имеют свою функцию дешифрования, который принимает то, что должно быть расшифровано и то, что является ключом дешифрования -

function DECRYPT($encrypted, $decryption_key) { //do stuff 
} 

DECRYPT("DEF456", "around guide speed ... hobbes") //returns plain text username 
DECRYPT("GHI789", "around guide speed ... hobbes") //returns plain text password 
Смежные вопросы