|
Ошибка при вызове метода контекста (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
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |