Вы hash
пароль, а вы не encrypt
. Это, как говорится, не может decrypt
.
Взятые из here
Шифрование преобразует данные в другой формат таким образом, что только конкретное лицо (ы) может обратного преобразования. Он использует ключ, , который хранится в секрете в сочетании с открытым текстом и алгоритмом , чтобы выполнить операцию шифрования. Поэтому необходимо, чтобы зашифрованный текст, алгоритм и ключ были возвращены в открытый текст .
в то время как
хеширование служит цели обеспечения целостности, то есть сделать так, , что если что-то изменилось вы знаете, что она изменилась. Технически хеширования принимает произвольный ввод и производить с фиксированной длиной строку, которая имеет следующие атрибуты:
- тот же вход всегда будет производить один и тот же выход.
- Несколько несопоставимых входов не должны давать одинаковый выход.
- Невозможно перейти от выхода к входу.
- Любая модификация данного входа должна привести к резкому изменению хеша.
хэширования используется в сочетании с проверкой подлинности для получения убедительных доказательств, что данное сообщение не было изменено. Это достигается путем ввода заданного ввода , шифрования его с помощью заданного ключа, его хэширования, а затем , шифрования ключа с помощью открытого ключа получателя и подписания хэша с закрытым ключом отправителя.
то, что я могу использовать, с помощью которого я могу преобразовать выходной сигнал на вход?
Вы должны расшифровать свои данные, а не использовать их. Шифрование и дешифрование данных - большой вопрос. Хорошей отправной точкой является чтение this. Как правило, у вас есть два типа encryoption, симметричный и асимметричный. Поэтому сначала читайте о них, а затем выбирайте тот, который, по вашему мнению, подходит вашим потребностям. Затем попытайтесь его реализовать. Вы будете использовать алгоритмы, которые уже реализованы в .NET и могут быть использованы для создания объектов соответствующих классов и вызова определенных методов.
Однако, здесь я должен сделать заметку. Обычно мы используем пароли, и мы их не шифруем. Это более безопасно.Взятый из here:
Хотя хеширования и шифрование и предоставляет ценные возможности для подавляющего большинства ситуаций, есть только один правильный вариант для хранения пользовательских паролей для интернета-приложений: хэшировании. Это односторонний функция, в которой значение хэшированного не может быть отменено, чтобы получить оригинальных входное значение (то есть, пароля). Симметричное шифрование - на основе использования ключа шифрования и является обратимой операцией. Любой, обладающий ключом, может дешифровать зашифрованное значение, чтобы получить исходное значение .
Вы неправильно поняли, что делает хэш. Пожалуйста, прочитайте http://en.wikipedia.org/wiki/Cryptographic_hash_function –
Умный парень сказал: «Как получить живую корову из говядины?». – C4u
Другая проблема заключается в том, что обычный криптографический хеш, такой как SHA-2, не является тем, что вы хотите сделать для хэширования паролей. Вместо этого вы хотите использовать медленный соленый хеш. Подробнее см. В разделе [Как безопасно использовать хэш-пароли?] (Http://security.stackexchange.com/questions/211/how-to-securely-hash-passwords) в security.se. – CodesInChaos