Склеп PHP () функционирует в .NET?

Вы должны попробовать что-то другое, как это:

// не тип диаграммы, вы должны изменить это. // изменим var на int, а диаграмму удвоим или с плавающей точкой, как вы захотите // снова измените var на int и рабочий лист будет равен ToString в C #, затем снимите строку "" и измените: 3 основные вещи

// меняем график на удвоение или плавающий, предлагая плавать здесь из-за сложности // График не хорош !!!! Вы можете получить позицию разными способами, просто установив .point = new Location (X, Y), а затем просто установите его дважды, а не один раз

7
задан abatishchev 26 July 2010 в 05:50
поделиться

5 ответов

Единственное решение, которое я нашел, это вызвать тривиальный PHP скрипт, который просто выполняет хэш входной строки и возвращает его :-(

0
ответ дан 7 December 2019 в 14:39
поделиться

Существует несколько методов.NET для хеширования md5, System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(password, format) самое легкое должно использовать, даже при том, что это - полный рот. Просто передайте "md5" через как формат.

В зависимости от того, как PHP делает это, это может быть столь же просто как прерывание $1$ от начала хеша, когда Вы импортируете его. Это может быть более сложно. Если можно отправить пароль/хеш в качестве примера, я буду видеть, могу ли я придумать некоторый C#, который генерирует тот же хеш от того пароля для Вас.

2
ответ дан 7 December 2019 в 14:39
поделиться

Вы смотрели на класс MD5.NET? $ за 1$ является частью 12 символьных солей.

1
ответ дан 7 December 2019 в 14:39
поделиться

Они выглядят многообещающими, по крайней мере.

unix md5crypt для CRYPT_MD5 с $1$ соли.

(Реализация C# склепа Unix () для DES)

1
ответ дан 7 December 2019 в 14:39
поделиться

В настоящее время я работаю над той же проблемой. Решение, которое я придумал, заключалось в том, чтобы вызвать функцию php напрямую через внешний вызов:

[DllImport( "php5ts.dll", EntryPoint = "crypt", CharSet = CharSet.Ansi )]
private static extern string crypt( string str, string salt );

Это хорошо работает для php версии 5.2.10 при запуске локального сервера WebDev, IIS5 и IIS6, но если вы используете II7, рабочий ASP.Net сбой процесса с необработанным исключением. (Я обновлю свой ответ, как только найду решение)

Мы также включаем флаг типа пароля, чтобы позволить нам использовать реализацию .Net MD5 для всех новых пользователей и беспрепятственно преобразовывать существующих пользователей, когда они обновляют свои данные .

Обновление: Проблема со ссылкой на php5ts.dll непосредственно из IIS7, скорее всего, связана с использованием 64-битных окон, поэтому это решение может работать на 32-битной установке Windows 7 или Server 2008, однако я не могу чтобы проверить это. Как оказалось, наш существующий сайт использовал DES, поэтому мы смогли использовать реализацию crypt из CodeProject, спасибо за ссылку, Майк.

0
ответ дан 7 December 2019 в 14:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: