MD5 (Unix)
Страницы: 1 |
SaintDragon - Вт 24 Июн, 2014 17:20 |
Есть старый алгоритм шифрования md5: http://ru.wikipedia.org/wiki/MD5 Есть улучшенный md5 (Unix): http://wiki.insidepro.com/index.php/MD5%28Unix%29/ru описание: Хэш начинается с сигнатуры $1$, затем идет соль, еще один символ $, а затем - непосредственно хэш. Длина хэшей - 26...34 символов. Длина соли - 0...8 символов. Стандартный формат записи - Хэш.
По сути, Хэш получается в виде: $1$соль$соль_и_хэш или $1$соль$хэш_и_соль
Всё бы ничего, да стандартным md5 не получатся символы "/", "." получаемые в md5 (unix).
пример: пароль: 123, соль: 12345678 получаем md5: 202cb962ac59075b964b07152d234b70 получаем md5 (unix): $1$12345678$tRy4cXc3kmcfRZVj4iFXr/ проверить: http://www.insidepro.com/hashes.php?lang=rus
кто подскажет, как работает алгоритм md5 (unix) и откуда в хэш попадают "/", "." ?
есть база в которую через php записывается crypt(соль, пароль) т.е. по алгоритму md5 (unix) хэш этой пары, мне нужно средтвами 1с получить тот же результат |
Странный Ник - Вт 24 Июн, 2014 17:54 |
Цитируя SaintDragon: кто подскажет, как работает алгоритм md5 (unix) и откуда в хэш попадают "/", "." ? Алгоритм примерно одинаковые, но в unix версии добавили соль, для защиты от rainbow атак. Эти символы попадают в хэш по той причине, что в unix версии расширена маска символов. В оригинальном md5 она [0-9af] в unix [a-zA-Z0-9./]
Протянуть алгоритм на прямую врятли выйдет, но можно попробовать написать модуль для 1C реализующий данный алгоритм (не уверен умеет ли 1C нормально грузить сторонние модули) |
SaintDragon - Вт 24 Июн, 2014 18:02 |
Странный Ник, понятно., спасибо. т.е. проще будет php-скрипт запускать в 1с с функцией crypt. в 1с функция md5 обычного - встроена. |
Странный Ник - Вт 24 Июн, 2014 18:03 |
SaintDragon, так а почему не использовать в php обычный md5? просто с солью |
MurLemur - Ср 25 Июн, 2014 0:19 |
Цитируя SaintDragon: кто подскажет, как работает алгоритм md5 (unix)
Ну судя по его краткому описанию: "Фактически, это цикл на 1000 вызовов алгоритма MD5. "
То есть теоретически в 1с можно его описать используя встроенную считалку md5.
Вот пример реализации на java : http://www.java2s.com/Open-Source/Java/Groupware/LibreSource/md5/MD5Crypt.java.htm Вот пример на php : http://phpclub.ru/talk/threads/%D0%91%D0%B0%D0%B3%D0%B0-crypt.68042/#post-608933 Вот еще пример на javascript http://pajhome.org.uk/crypt/md5/contrib/md5_crypt.js
Или плюнуть на эти изыски, и воспользоваться каким-то таким костылем : ScrptCtrl = Новый COMОбъект("MSScriptControl.ScriptControl"); ScrptCtrl.Language = "PHPScript"; ..... |
SaintDragon - Ср 25 Июн, 2014 3:00 |
Странный Ник, через ПхП уже сделаны 300+ паролей, у них всех Хэш переписывать придёться..
Цитируя MurLemur: Ну судя по его краткому описанию: "Фактически, это цикл на 1000 вызовов алгоритма MD5. " MurLemur, увы, это не корректное описание, хоть миллион раз примени его, символы "/" и "." с юникса не появятся. За ссылки спасибо, код иходный по созданию хэша у меня есть. Идёт на пхп: crypt ($solt, $pass)Цитируя MurLemur: ScrptCtrl = Новый COMОбъект("MSScriptControl.ScriptControl"); ScrptCtrl.Language = "PHPScript"; да,чем-топодобным буду в 1с описывать |
|
|
|