Если вы хотите хранить пароли, например, в базе данных, я бы порекомендовал вам использовать HMAC (код аутентификации сообщений на основе хеша);вам понадобится криптографическая хеш-функция (например, SHA-512) в сочетании с секретным ключом для генерации MAC.Кроме того, важно отметить, что вы не шифруете пароль, а предпочитаете хеш его.
Например, для шифрования локально сохраненных паролей (хотя Брюс Шнайерговорит, что вы должны записать свои пароли на бумаге ), вы можете использовать криптосистему с асимметричным ключом, такую как RSA .В этом случае у вас будет пара ключей, состоящая из открытого ключа, которым вы поделитесь с друзьями, и личного ключа, который вы должны, в общем-то, сохранить в секрете.Хорошая вещь в RSA состоит в том, что вы можете либо зашифровать сообщения с помощью вашего открытого ключа, а затем расшифровать их с помощью вашего личного ключа;или вы можете использовать его для цифровой подписи документов, используя свой закрытый ключ, чтобы вычислить хэш документа, а затем проверить его, используя ваш открытый ключ.Довольно изящно!