Преобразование хеш-байт - PullRequest
1 голос
/ 09 июня 2009

выберите HASHBYTES («ша», «что это») Результат --0x2327A09C2FDAD132E436B5CC12E9D5D283B5BA69 Можно ли преобразовать обратно хеш-байты в строку '0x2327A09C2FDAD132E436B5CC12E9D5D283B5BA69' в качестве ввода хочешь выйти, поставить как «что это»?

Ответы [ 5 ]

10 голосов
/ 09 июня 2009

Абсолютно нет. хеш , по определению, односторонний.

То, что вам нужно, это шифрование , которое вы можете сделать с помощью функций EncryptByCert и DecryptByCert , подробно объясненных здесь .

0 голосов
/ 09 июня 2009

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

0 голосов
/ 09 июня 2009

Хеширование, как упоминалось в предыдущих постерах, определенно является односторонней операцией. Он принимает (потенциально большие) входные данные и быстро обрабатывает входные данные таким образом, что выходные данные являются небольшими, но очень уникальными (на основе входных данных) выходными данными. Как по конструкции, так и по характеру наличия выходных данных небольшого размера, хеш не может быть отменен, так как исходный ввод был потерян в преобразовании. Обычные алгоритмы хеширования включают семейство Message Digest (обычно MD5) и семейство SHA, которое вы упомянули в своем вопросе.

Опять же, как упоминалось в предыдущем постере, если вы ищете двустороннюю операцию, шифрование - это то, что вы ищете. Более того, если вы хотите, чтобы один и тот же пользователь зашифровал и расшифровал строку, придерживайтесь симметричного шифрования. Некоторые распространенные алгоритмы, используемые на практике сегодня, это AES, DES и Blowfish.

0 голосов
/ 09 июня 2009

Хеш-функция определяется как «односторонняя», что означает, что вы преобразуете текст в дайджест (результат, который вы видите выше). Если вы используете это для шифрования пароля, принято использовать ввод пользователя (из формы пароля) через хеш-функцию и убедиться, что он соответствует сохраненному дайджесту.

Если вы хотите расшифровать предоставленный текстовый ввод, вам нужно поискать другие криптографические решения, такие как Симметричный ключ или Асимметричный ключ Алгоритмы.

Конечно, если вы делаете что-то из этого, вы захотите очистить ваш ввод.

0 голосов
/ 09 июня 2009

Нет. Вот и весь смысл хеша.

Вы используете их для чего-то вроде пароля, так что каждый раз, когда кто-то пытается войти в систему, вы вычисляете хэш пароля, с которым он пытался войти (плюс соль), и сравниваете его с вашим сохраненным значением. Таким образом, даже если кто-то (например, недовольный сотрудник) найдет ленту резервных копий для базы данных, в которой хранятся ваши пароли, и ключ шифрования, он все равно не сможет войти в вашу систему и работать с живыми данными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...