Страницы: 1
RSS
расчет md5 хешей содержимого ячеек
 
Собственно вопрос в том как в екселе провести расчет md5 хешей содержимого ячеек. есть ли спец формулы или надстройки. в гугле нашел только веб формы для расчета хешей
 
наверное, надо специальную библиотеку подключать к Excel, которая позволит это сделать...
 
где её взять?
 
не на форуме уж точно )) Вам SHA-1 не подойдёт ? ) вот тут есть какие-то коды  
 http://vb.wikia.com/wiki/SHA-1.bas  
 http://stackoverflow.com/questions/125785/password-hash-function-for-excel-vba  
А так открываете Google.com вбиваете например, MD5 hash library Excel и вперёд
 
{quote}{login=Ластик}{date=31.01.2012 02:31}{thema=}{post}не на форуме уж точно )){/post}{/quote} Вот на этом, помнится, было:  
 http://www.sql.ru/forum/actualthread.aspx?tid=853374  
:-)
 
www.insidepro.com/doc/md5.pdf  
или тут читаем и реализуем.
 
понятно, спасибо
 
доброй ночи, Владимир. Я имел ввиду не нашем форуме, т.к. не припомню, чтобы были вопросы на эту тему у нас
 
Доброй ночи, Павел! Это я в шутку процитировал.  
Да, здесь точно не было, я бы заметил :-)  
 
Для Cuper: по ссылке в архиве есть файл MD5.dll, если его подключить через Tools-References , то:  
 
' Нужно подключить библиотеку: Tools - References - MD5.dll  
Function Hash(txt As String, Optional UpperCase = 0)  
 With New GetHash  
   Hash = .MD5(txt, UpperCase)  
 End With  
End Function  
 
Sub Test()  
 MsgBox Hash("123")  
End Sub  
 
 
Вместо подключения MD5.dll через references можно импортировать в проект файл MD5.cls  
 
А если требуется обрабатывать много значений, то так будет быстрее:  
 
' Нужно подключить библиотеку: Tools - References - MD5.dll  
Dim oHash As New GetHash  
 
Function Hash(txt As String, Optional UpperCase = 0)  
 Hash = oHash.MD5(txt, UpperCase)  
End Function  
 
Sub Test()  
 MsgBox Hash("123")  
End Sub
 
хм, Владимир, что-то у меня фокус не проходит (код не запускается, и тот и тот)  
 
Останавливается на строке    
 
With New GetHash  
 
и выдаёт ошибку 429  
 
ActiveX component can't create object  
 
Т.е. не может создать объект  
 
P.S. Библиотеку MD5.dll конечно же подключил в Tools - References...
 
Павел, приложил то, что у меня работает на Excel 2003 и 2007
 
Паш, у меня тоже все работает..
Спасибо
 
Да, Владимир, так работает. Интересно почему если подключать dll не хочет работать...
 
Павел, чтобы работало с DLL, нужно эту DLL сначала зарегистировать, например так:  
 
Declare Sub DllRegisterServer Lib "MD5.dll" ()  
 
Dim oHash As New GetHash  
 
Function Hash(txt As String, Optional UpperCase = 0)  
 Hash = oHash.MD5(txt, UpperCase)  
End Function  
 
Sub Test()  
 MsgBox Hash("123")  
End Sub  
 
' Регистируем MD5.DLL  
Sub Auto_Open()  
 Dim p$  
 p = CurDir  
 With ThisWorkbook  
   ChDrive Left(.Path, 1)  
   ChDir .Path  
 End With  
 DllRegisterServer  
 ChDrive Left(p, 1)  
 ChDir p  
End Sub  
 
Приложил вариант и DLL
 
ясно, спасибо
Страницы: 1
Читают тему
Наверх