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