Я искал вокруг, и я не могу найти хороший ресурс, который проходит через всю реализацию Blowfish.
Я использую 5.3.8, поэтому знаю, что могу использовать функцию crypt() и что мне нужно передать ей соль в виде
$2[x,y,a]$[журнал числа раундов по основанию 2]$[некоторая строка]
Но я где-то читал, что соль нужно генерировать каждый раз однозначно. Означает ли это, что вы должны хранить соль в своей базе данных? Если кто-то украдет вашу базу данных, разве вы не окажетесь в том же положении, что и при использовании shaX? Как именно все это работает.
ТАКЖЕ
Я читал, что Blowfish также используется для расшифровки паролей. Я понял, что это всего лишь алгоритм хеширования, в котором вы шифруете две строки, а затем проверяете, совпадают ли они. Как и зачем использовать алгоритм, который можно расшифровать?