The Magical Magikarp Ответов: 2

Как я могу хэшировать строку в C# так же, как это делает PHP?


Привет! Мой вопрос, вероятно, очень прост, но я должен спросить.

Я закодировал свою строку с помощью password_hash на моей странице PHP, но теперь мне нужно закодировать строку в моем приложении C# Windows Forms.

Например, "garchomp9" будет равно "$2y$10$opiDs.kbUEN6HUPzYCHyX.cOVQt5BvWrqWMrSkXHlP7d91.9aERfK"

Кто-нибудь поможет?

Что я уже пробовал:

К сожалению, я случайно удалил свой код.(Мой компьютер отключился..)

2 Ответов

Рейтинг:
20

phil.o

PHP: password_hash - руководство пользователя[^]

Используйте BCrypt для хэширования паролей: пример для C# и SQL Server[^]

Первая ссылка позволяет утверждать, что алгоритм хэширования пароля по умолчанию-bcrypt.

Вторая ссылка - это статья о CP, которая посвящена этой теме.


The Magical Magikarp

Спасибо, как раз то, что мне было нужно :)

phil.o

Всегда пожалуйста!

Рейтинг:
2

Patrice T

Цитата:
Я закодировал свою строку с помощью password_hash на своей странице PHP, но теперь мне нужно закодировать строку в моем приложении C# Windows Forms.

Короткий ответ: вы не декодируете хэш, потому что он необратим.
Хэш-это не шифрование, хэш специально разработан для предотвращения "распаковки".
Хэш - функция- Википедия[^]

Как указано в руководстве php, функция php может меняться с течением времени.
Если вы хотите одинаковое хеширование по php и C#, вам нужно выбрать алгоритм/библиотеку хеширования, которые будут доступны на обоих языках.
Цитата:
К сожалению, я случайно удалил свой код.(Мой компьютер отключился..)

Серьезные программисты теряют свое время, делая бесполезные резервные копии, потому что через 1 день бесполезная резервная копия превращается в бесценную.
Резервное Копирование - Википедия[^]
Контроль версий - Википедия[^]


phil.o

"Мне нужно закодировать строку в моем приложении C# Windows Forms."
Где он говорит о расшифровке?

Patrice T

Может быть, я немного поторопился. :)

phil.o

:)

The Magical Magikarp

Ну, есть ли библиотека, которая будет предоставлять тот же вывод, что и password_hash, или это эксклюзивная функция php?