MD5 и работа с архивами
Я начинающий программист и в VB пока что слабо разбираюсь. Но если кто-то знает ответы хоть на один вопрос, пожалуйста, помогите.
У меня 2 вопроса:
1) Как вычислять MD5 файла? (я нашел пример на Fox, но его я не знаю и мне надо на VB. Если кому интересно или кто-то может переписать на VB привожу код на Fox:
*--------------------------------------------------
* Это будет метод Init
*--------------------------------------------------
DECLARE INTEGER MDStringFix IN aamd532.dll STRING s, LONG l, STRING r
DECLARE INTEGER MDFile IN aamd532.dll STRING f, STRING r
*--------------------------------------------------
* Function MD5String -- оформим одноименным методом
*--------------------------------------------------
PARAM s
r = SPACE(32)
l = LEN(s)
= MDStringFix( s, l, @r)
RETURN r
*--------------------------------------------------
* Function MD5File -- оформим одноименным методом
*--------------------------------------------------
PARAM fname
r = SPACE(32)
= MDFile( fname, @r)
RETURN r
)
2) Как работать с архивами (ZIP и RAR)? Распаковывать и упаковывать - защищая паролем?
Спасибо. Заранее благодарен, Александр.
P.S. Всех с наступающим!! ;))
Из нее берутся две функции которые и вычисляют MD5. Одна функция обрабатывает текстовую строку, другая файл.
Если Вы слабо разбираетесь в VB, то похоже Вы совсем начинающий. :) Без обид. Если планируете дальше работать на VB, то рекомендую прикупить книженцию Дена Эпплмана "Win32 API и VisualBasic" Там найдете очень много полезного и интересного. В том числе как использовать библиотечные функции.
В двух словах на пальцах ваши вопросы не объяснишь. Для начала ознакомтесь с вводной информацией по MD5 http://ru.wikipedia.org/wiki/MD5
Если владеете английским, то изучите спецификацию http://tools.ietf.org/html/rfc1321.
Там так же приведен пример Сишной реализации алгоритма.
ИЛИ скажите откуда взялась aamd532.dll библиотека.
С архивами в принципе тоже есть свои тонкости. Вроде как winXP уже может воспринимать ZIP архивы как папки, так что возможно необходимые API функции есть. Тут Вам в помощь MSDN.
Насчет RAR не уверен. Скорей всего придется пользоватся сторонним компонентом.
Насколько я знаю, код RAR упаковщика до сих пор является закрытым.
В архиве лежит эта самая библиотека и краткое описание на Fox.
P.S. Я вроде бы как и не новичок - работаю 2 года на VB, но делал в основном простенькие проги не работающие с системой. Так что вот приплыл.
Функция MDFile принимает два параметра и возвращает один + результат выполнения функции.
Что то типа этого писать нужно:
Код:
Public Declare Function MDFile Lib "aamd532.dll" Alias "MDFileA" (ByVal FileName As String, ByRef Result As String) As Long
Ну а потом используйте эту функцию.
Код:
Dim FileName As String;
Dim MD5Result As String;
FileName="C:\test_file.txt";
MDFile(FileName, MD5Result);
Dim MD5Result As String;
FileName="C:\test_file.txt";
MDFile(FileName, MD5Result);
По идее, в результате вызова функции в переменной MD5Result должна будет лежать строка с хешем файла.
Так же по всей видимости нужно обрабатывать возвращаемый функцией результат, но коды ошибок я не знаю...