|
MD5 в 8ке... | ☑ | ||
---|---|---|---|---|
0
ДенисЧ
27.08.13
✎
14:43
|
Требуется считать MD5 от файла (!), в том числе и бинарные...
Нашёл один варинат,но он работает через CAPICOM, соответственно на стороне сервера не запустится (ибо уже не поддерживается и не стоит там) Нашёл ещё v8: Быстрое вычисление хэша файла без прав админа - через powershell, но там вообчОрт знает что... Ещё какие-нибудь варианты есть? |
|||
1
ДенисЧ
27.08.13
✎
14:44
|
Да, в БСП тоже есть функция... Но она работает от строки...
|
|||
2
Maxus43
27.08.13
✎
14:46
|
что значит "считать MD5 от файла"? получение мд5 есть процесс шифрования, тебе надо весь файл пропустить через этот алгоритм... не?
|
|||
3
Jump
27.08.13
✎
14:53
|
(0)http://www.pc-tools.net/win32/md5sums/
Можно конечно и на 1с реализовать, вопрос лишь в скорости работы. |
|||
4
ДенисЧ
27.08.13
✎
14:53
|
(2) Да. Мне нужен уникальный хеш от любого файла, чтобы на другой стороне верифицировать передачу.
|
|||
5
ДенисЧ
27.08.13
✎
14:54
|
(3) И что, она будет работать на сервере в режиме фонового задания?
|
|||
6
Maxus43
27.08.13
✎
14:54
|
(4) для этого CRC есть, нафига МД5? ты представляешь сколько будет файл колбасить?
|
|||
7
Asmody
27.08.13
✎
14:54
|
возьми отсюда http://gnuwin32.sourceforge.net/packages/coreutils.htm и запускай в командной строке
|
|||
8
Jump
27.08.13
✎
14:54
|
(5)А в чем собственно проблема?
|
|||
9
Asmody
27.08.13
✎
14:55
|
(6) если файлы небольшие, то недолго
|
|||
10
ДенисЧ
27.08.13
✎
14:56
|
(6) Представляю. Те методы, что есть у меня - на требуемых объёмах работают достаточно быстро.
(8) просто не уверен. Попробую. |
|||
11
Maxus43
27.08.13
✎
14:56
|
(9) это да, но CRC для этих целей имхо правильней, там алгоритм легче намного
|
|||
12
ДенисЧ
27.08.13
✎
15:46
|
(8) Чего я и боялся...
md5 = ПолучитьОбщийМакет("MD5Sums"); времКат = КаталогВременныхФайлов(); md5.Записать(времКат + "\md5sums.exe"); имяФайла = ПолучитьИмяВременногоФайла(); ддФайл.Записать(имяФайла); имяВывода = ПолучитьИмяВременногоФайла(); стр = "md5sums.exe -u -e """ + имяФайла + """ > """ + имяВывода + """"; ЗапуститьПриложение(стр, времКат, Ложь); На последней строчке зависает. Наглухо. |
|||
13
Maxus43
27.08.13
✎
15:50
|
может так запустить?
sh = Новый COMОбъект("WScript.Shell"); sh.Exec("cmd /c Z: && cd \ && start Z:\file.bat"); через WScript.Shell |
|||
14
Smallrat
27.08.13
✎
16:02
|
я недавно тоже такой проблемой заморочился
остановился на внешней длл XMD5 http://rghost.ru/48403896
|
|||
15
Smallrat
27.08.13
✎
16:10
|
+(14) также может считать md5 строки: GetCheckSumFromString(sString As String) As String
|
|||
16
ДенисЧ
27.08.13
✎
16:13
|
(14) Это ActiveX...
|
|||
17
ДенисЧ
27.08.13
✎
16:20
|
Вроде заработала... Спасибо.
|
|||
18
Smallrat
27.08.13
✎
16:20
|
(16) ну если без него, то тяжело - есть пару обработок на 1С, которые считают md5 строки (одна из 1С, другая сторонняя) - я пробовал приспособить код для файлов, что-то у меня не получилось. капиком - вообще что-то древнее, два часа с ним корячился - так и не взлетел. вариант только 1 - возится с этим MD5sums или другой похожей прогой.
|
|||
19
ДенисЧ
27.08.13
✎
16:22
|
(18) НУ пока заработала, так и оставим пока.
|
|||
20
Odavid
30.08.13
✎
11:39
|
(0)>>через powershell, но там вообчОрт знает что
- самые нормальные способы там описаны. Через PowerShell на WScript - весьма интересный способ без использования ВК только средствами винды. А не "чОрт знает что..." ))) |
|||
21
vde69
модератор
30.08.13
✎
11:43
|
http://code.google.com/p/restoration-base-1c8/downloads/detail?name=Bin1CD_VK_DistrNative_1_1_7.rar&can=2&q=
там есть расчет CRC, причем быстрый и реально работает на сервере, правда если говоришь про CRC - то там алгоритм адлер-32, почитай про совместимость его с другими CRC там исходники есть можешь перекомпилить под себя :) |
|||
22
ДенисЧ
30.08.13
✎
11:44
|
(21) Я не говорю про CRC :-) Я говорю про то, что написано в сабже.
|
|||
23
vde69
модератор
30.08.13
✎
11:46
|
(22) в 8.3 вроде реализовано на уровне платформы
|
|||
24
ДенисЧ
30.08.13
✎
11:46
|
(23) У меня не 8,3.
|
|||
25
Odavid
30.08.13
✎
14:27
|
Вот это интересно:
>>vde69 6 - 06.12.12 - 19:54 (4)CAPICOM - больше не поддерживается" - а что там может поменяться? |
|||
26
Ковычки
30.08.13
✎
15:49
|
echo off && ( certutil -hashfile certutil.txt MD5 2> nul || certutil -hashfile certutil.txt 2> nul ) | findstr /r "[0-9a-f][0-9a-f].[0-9a-f][0-9a-f] SHA MD5"
|
|||
27
Torquader
30.08.13
✎
21:32
|
Вообще-то, передачу файлов, расчёт Md5 и прочего нужно вынести из 1С в отдельное приложение - которое будет получать файл-задание и выполнять его, а в файл результата записывать результат выполнения - то есть или файл доставлен или не вышло.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |