Вы должны попробовать что-то другое, как это:
// не тип диаграммы, вы должны изменить это. // изменим var на int, а диаграмму удвоим или с плавающей точкой, как вы захотите // снова измените var на int и рабочий лист будет равен ToString в C #, затем снимите строку "" и измените: 3 основные вещи
// меняем график на удвоение или плавающий, предлагая плавать здесь из-за сложности // График не хорош !!!! Вы можете получить позицию разными способами, просто установив .point = new Location (X, Y), а затем просто установите его дважды, а не один раз
Единственное решение, которое я нашел, это вызвать тривиальный PHP скрипт, который просто выполняет хэш входной строки и возвращает его :-(
Существует несколько методов.NET для хеширования md5, System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(password, format)
самое легкое должно использовать, даже при том, что это - полный рот. Просто передайте "md5" через как формат.
В зависимости от того, как PHP делает это, это может быть столь же просто как прерывание $1$
от начала хеша, когда Вы импортируете его. Это может быть более сложно. Если можно отправить пароль/хеш в качестве примера, я буду видеть, могу ли я придумать некоторый C#, который генерирует тот же хеш от того пароля для Вас.
Вы смотрели на класс MD5.NET? $ за 1$ является частью 12 символьных солей.
Они выглядят многообещающими, по крайней мере.
unix md5crypt для CRYPT_MD5
с $1$
соли.
(Реализация C# склепа Unix () для DES)
В настоящее время я работаю над той же проблемой. Решение, которое я придумал, заключалось в том, чтобы вызвать функцию 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, спасибо за ссылку, Майк.