Коллеги, помогите в решении следующего вопроса, я уже не знаю, куда копать.
Имеется: NET-проект, в котором надо использовать функции сторонней библиотеки (поддержки по ней уже нет, к сожалению). Библиотека зарегистрирована и работает в окружении заказчика. Суть библиотеки — Encrypt и Decrypt строк (strings), используется при авторизации в веб-приложении.
Первый подход — создать Interop wrapper средствами Visual Studio и работать с этим wrapper. Работать-то можно, но в моём окружении при одинаковых входных данных у нас с заказчиком получались разные значения на выходе. Я попробовал приводить строки в Encoding окружения заказчика (Windows-1252) — ни фига.
Библиотека оказалась locale зависимой, б#&. Установка CurrentCulture для потока выполнения вызовов в «da-DK» (Дания), тоже успеха не принесла. Только что набросал использование библиотеки через Reflection, причём с использованием CultureInfo — нет результата :( Ниже — последняя версия кода.
Encoding source = Encoding.Default; Encoding dest = Encoding.GetEncoding(1252); byte[] bytes = Encoding.Default.GetBytes(str); bytes = Encoding.Convert(source, dest,bytes); char[] destChars = new char[dest.GetCharCount(bytes)]; destChars = dest.GetChars(bytes); string encodedStr = new string(destChars); CultureInfo danish = CultureInfo.CreateSpecificCulture("da-DK"); Type tNFOcrype = Type.GetTypeFromProgID("NFOcrypt.Crypt"); object clsCrypt = Activator.CreateInstance(tNFOcrype,BindingFlags.CreateInstance, null, null,danish); object rez = null; rez = tNFOcrype.InvokeMember("EnCrypt", BindingFlags.InvokeMethod, null, clsCrypt, new object[] { encodedStr }, danish);
Попробовал последний шанс — сменил System Locale на своём ноуте (Windows Se7en) на датский — всё заработало, но то не выход: проект должен быть Neutral Culture. Может кто сталкивался, подскажите, как заставить эту либу поверить, что она работает под «da-DK» окружением?
Автор: Дядя Эдик.
Интересное...
Комментарии:
Дядя Эдик написал:
16.05.2010 в 23:10
Стало уже неактуально. Договорились, что заказчик набросает на ASP скрипт и криптить будет сервак по запросу. Закрыто.
0 коммент.:
Отправить комментарий
Ваш комментарий появится в блоге после проверки администратором