|
Ошибка при вызове метода контекста (ComputeHash_2) или (GetBytes_4) |
☑ |
0
supportingII
04.08.14
✎
20:35
|
Добрый вечер народ...есть код
оMD5 = Новый COMОбъект("System.Security.Cryptography.MD5CryptoServiceProvider");
оEnc = Новый COMОбъект("System.Text.UTF8Encoding");
оStr = Новый COMОбъект("System.Text.StringBuilder");
// переводим в байтовый массив
Массив = оEnc.GetBytes_4(КодируемаяСтрока);
// MD5
Массив = оMD5.ComputeHash_2(Массив);
// переведем обратно из байтового массива в строку
КолЭлементовМассива = Массив.GetLength();
Для Ит = 0 ПО КолЭлементовМассива - 1 Цикл
оStr.AppendFormat("{0:x02}", Массив.GetValue(Ит));
КонецЦикла;
оMD5 = NULL;
оEnc = NULL;
Возврат оStr.ToString;
Возникают ошибки Ошибка при вызове метода контекста (ComputeHash_2) или (GetBytes_4) подскажи в какую сторону копать?
|
|
1
Garykom
гуру
04.08.14
✎
20:41
|
|
|
2
supportingII
04.08.14
✎
21:25
|
(1) ммм...чет не совсем понятно =\
|
|
3
Garykom
гуру
04.08.14
✎
22:04
|
(2) типы не совпадают...массивов...
|
|
4
supportingII
04.08.14
✎
22:14
|
(3)хм...скорее всего в другом т.к. из 10 машин на 9 работает...может быть дело в правах,или ОС самой?
|
|
5
Garykom
гуру
04.08.14
✎
22:24
|
(4) сказали же типы не совпадают...
x86 и x64 да ? винда т.е. 32 или 64 битная
|
|
6
Garykom
гуру
04.08.14
✎
22:55
|
еще может раз "10 машин на 9 работает" на той 1 нету .net framework'а или не тот/кривой
|
|
7
supportingII
05.08.14
✎
08:44
|
(6) сейчас буду смотреть...где,чего не хватает...
|
|
8
supportingII
05.08.14
✎
09:49
|
Пытаюсь использовать этот вариант
Функция ПолучитьMD5ХэшФайла(ПутьКФайлу) Экспорт
adTypeBinary = 1;
objCrypt = Новый COMОбъект("System.Security.Cryptography.MD5CryptoServiceProvider");
objStream = Новый COMОбъект("ADODB.Stream");
objStream.Open();
objStream.Type = adTypeBinary;
objStream.LoadFromFile(ПутьКФайлу);
HashArray = objCrypt.ComputeHash_2(objStream.Read());
Хэш = "";
Для каждого Число Из HashArray Цикл
Хэш = Хэш + DecToHex(Число);
КонецЦикла;
//Возврат Хэш;
Сообщить(Хэш);
КонецФункции
объясните,почему когда я создаю txt в ручную и забиваю туда значение он мне правильно переводит хэш,а когда создаю временный файл средствами 1С и помещаю туда значение он мне выдает другой хэш...пробовал с кодировкой UTF8 и без.
|
|
9
Serginio1
05.08.14
✎
10:47
|
|
|
10
oleg_km
05.08.14
✎
11:03
|
(8) Файлы сравни утилитой bc в бинарном режиме
|
|
11
supportingII
05.08.14
✎
13:04
|
хм...нашел вариант в БСП,где не используются ком объекты...и норм все отрабатывает...тему можно закрывать.Всем спасибо!!!
|
|
12
Serginio1
05.08.14
✎
13:41
|
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший