Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Хеш по алгоритму MD5 (число прочтений - 9590 )
VictorAP
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 2
Зарегистрирован: 20. Октября 2006
Хеш по алгоритму MD5
20. Октября 2006 :: 15:13
Печать  
Подскажите, кто знает, как в среде [b]1С8.0[/b] получить хеш строки по алгоритму [b]MD5[/b]?
  
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Хеш по алгоритму MD5
Ответ #1 - 21. Октября 2006 :: 07:02
Печать  
FormEx может такое Улыбка
Только в v8 FormEx применить не удастся Печаль
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Хеш по алгоритму MD5
Ответ #2 - 25. Октября 2006 :: 11:07
Печать  
Федор, тема явно для раздела Курилка, нужно переместить !
Автор, соблюдай правила форума.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Хеш по алгоритму MD5
Ответ #3 - 02. Ноября 2006 :: 20:39
Печать  
Попробуй с пом PHP как нить извернуться.
У него такое врое есть....
  
Наверх
IP записан
 
VictorAP
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 2
Зарегистрирован: 20. Октября 2006
Re: Хеш по алгоритму MD5
Ответ #4 - 03. Ноября 2006 :: 08:01
Печать  
Вопрос решился. Нашел на других форумах:

Функция MD5(КодируемаяСтрока, Хэш)
   
    ЗначениеВозврата = Истина;
    Попытка
       //http://pajhome.org.uk/crypt/md5/index.html
        ScrptCtrl = Новый COMОбъект("MSScriptControl.ScriptControl");
       ScrptCtrl.Language = "JScript";
       ScrptCtrl.AddCode("
       |/*
       | * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message

      | * Digest Algorithm, as defined in RFC 1321.
      | * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.

       | * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
       | * Distributed under the BSD License

       | */
       |
       |/*
       | * Configurable variables. You may need to tweak these to be compatible with
       | * the server-side, but the defaults work in most cases.
       | */
       |var hexcase = 0;  /* hex output format. 0 - lowercase; 1 - uppercase        */

      |var b64pad  = """"; /* base-64 pad character. ""="" for strict RFC compliance   */

       |var chrsz   = 8;  /* bits per input character. 8 - ASCII; 16 - Unicode      */
       |
       |/*
       | * These are the functions you'll usually want to call
       | * They take string arguments and return either hex or base-64 encoded strings
       | */
       |function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
       |function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));}
       |function str_md5(s){ return binl2str(core_md5(str2binl(s), s.length * chrsz));}
       |function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); }
       |function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); }
       |function str_hmac_md5(key, data) { return binl2str(core_hmac_md5(key, data)); }
       |
       |/*
       | * Perform a simple self-test to see if the VM is working
       | */
       |function md5_vm_test()
       |{
       |  return hex_md5(""abc"") == ""900150983cd24fb0d6963f7d28e17f72"";
       |}
       |
       |/*
       | * Calculate the MD5 of an array of little-endian words, and a bit length
       | */
       |function core_md5(x, len)
       |{
       |  /* append padding */
       |  x[len >> 5] |= 0x80 << ((len) % 32);
       |  x[(((len + 64) >>> 9) << 4) + 14] = len;
       |
       |  var a =  1732584193;
       |  var b = -271733879;
       |  var c = -1732584194;
       |  var d =  271733878;
       |
       |  for(var i = 0; i < x.length; i += 16)
       |  {
       |    var olda = a;
       |    var oldb = b;
       |    var oldc = c;
       |    var oldd = d;
       |
       |    a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
       |    d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
       |    c = md5_ff(c, d, a, b, x[i+ 2], 17,  606105819);
       |    b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
       |    a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
       |    d = md5_ff(d, a, b, c, x[i+ 5], 12,  1200080426);
       |    c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
       |    b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
       |    a = md5_ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);
       |    d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
       |    c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
       |    b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
       |    a = md5_ff(a, b, c, d, x[i+12], 7 ,  1804603682);
       |    d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
       |    c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
       |    b = md5_ff(b, c, d, a, x[i+15], 22,  1236535329);
       |
       |    a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
       |    d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
       |    c = md5_gg(c, d, a, b, x[i+11], 14,  643717713);
       |    b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
       |    a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
       |    d = md5_gg(d, a, b, c, x[i+10], 9 ,  38016083);
       |    c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
       |    b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
       |    a = md5_gg(a, b, c, d, x[i+ 9], 5 ,  568446438);
       |    d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
       |    c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
       |    b = md5_gg(b, c, d, a, x[i+ 8], 20,  1163531501);
       |    a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
       |    d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
       |    c = md5_gg(c, d, a, b, x[i+ 7], 14,  1735328473);
       |    b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
       |
       |    a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
       |    d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
       |    c = md5_hh(c, d, a, b, x[i+11], 16,  1839030562);
       |    b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
       |    a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
       |    d = md5_hh(d, a, b, c, x[i+ 4], 11,  1272893353);
       |    c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
       |    b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
       |    a = md5_hh(a, b, c, d, x[i+13], 4 ,  681279174);
       |    d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
       |    c = md5_hh(c, d, a, b, x[i+ 3], 16, -7
  
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: Хеш по алгоритму MD5
Ответ #5 - 10. Ноября 2009 :: 15:17
Печать  
Кажется функция обрезана (на самом интересном месте Подмигивание), а нельзя выложить полностью?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Хеш по алгоритму MD5
Ответ #6 - 10. Ноября 2009 :: 15:28
Печать  
steban писал(а) 21. Октября 2006 :: 07:02:
FormEx может такое Улыбка
Только в v8 FormEx применить не удастся Печаль

Взять кусок кода из FormEx и на его основе писать ВК для v8.
или самому разбираться с win crypt api и на этом написать
ВК для v8.
  
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: Хеш по алгоритму MD5
Ответ #7 - 17. Ноября 2009 :: 12:03
Печать  
mov68 писал(а) 10. Ноября 2009 :: 15:17:
Кажется функция обрезана (на самом интересном месте Подмигивание), а нельзя выложить полностью?

Снимаю вопрос, нашел и сделал у себя
  
Наверх
 
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Хеш по алгоритму MD5
Ответ #8 - 17. Ноября 2009 :: 14:20
Печать  
У меня была чья то обработка на 7.7. Весь алгоритм в 1С реализован.
Если надо, могу выложить.
Синтаксис под нужную версию переписать и готово.
  
Наверх
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Хеш по алгоритму MD5
Ответ #9 - 17. Ноября 2009 :: 15:08
Печать  
  
Наверх
 
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Хеш по алгоритму MD5
Ответ #10 - 17. Ноября 2009 :: 15:34
Печать  
chessman писал(а) 17. Ноября 2009 :: 15:08:

Точно! Это она!
Буду знать как зовут автора! Спасибо ему! Во времена, когда не знал про FormEx, она меня здорово выручала!
« Последняя редакция: 16. Сентября 2010 :: 09:33 - simply »  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать