Какой хороший метод / функция для создания обратимого хеша?
Мне нужно передать некоторые данные по проводам, и я не хочу, чтобы эти данные были в виде простого текста.
Текст, который я отправляю, нужно поменять местами, поэтому я не могу md5/sha256/etc...
Какой хороший способ кодировать соленую строку?
3 ответа
Вы ищете шифрование.
Какой язык вы используете? У вас, вероятно, есть встроенный алгоритм шифрования, который вы можете использовать.
Идея хеширования состоит в том, что вы можете идти только в одну сторону.
[plain text]--->(HASH ALGORITHM)--->HASH
В то время как идея шифрования заключается в том, что вы можете использовать ключ вместе с некоторым открытым текстом для создания зашифрованного текста. Затем вы можете использовать ключ на зашифрованном тексте для получения открытого текста в любое время:
[plain text] + [key] --->(ENCRYPTION ALGORITHM)-->[ciphertext]
[ciphertext] + [key] --->(DECRYPTION ALGORITHM)-->[plain text]
Алгоритм дешифрования для данного алгоритма шифрования обычно очень похож на алгоритм шифрования, и он позволяет извлекать текстовое сообщение с зашифрованным текстом и правильным ключом (то есть паролем).
Вы хотите использовать функцию шифрования, а не хеш - который по определению является односторонним.
Алгоритм шифрования AES был бы хорошим началом, поскольку он, вероятно, является наиболее широко используемым в настоящее время.
Вы не хотите хеш, вы хотите шифрование. Вы должны посмотреть на Blowfish.