Проблема с хеш функцией

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
gopstop2007
✯ Ветеран ✯
Сообщения: 1293
Зарегистрирован: 25 Март 2009, 21:55

Проблема с хеш функцией

Сообщение gopstop2007 » 22 Ноябрь 2019, 14:12

Собрали тестовое приложение для хеш функции.
Собрали на основе этого кода DLL https://github.com/Roman-Oliynykov/Kupy ... r/kupyna.c
Код рабочий, то есть проблема не в хеш, а в нашем тестовом приложении.
Компилируется без ошибок, но не запускается, вероятно ошибка в описании прототипов.
Прошу помощи, спасибо за внимание.

сам тестовый пример - https://drive.google.com/file/d/1-sdlRp ... sp=sharing

исходники из которых собиралось DLL https://drive.google.com/file/d/1D4XxDo ... sp=sharing
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Проблема с хеш функцией

Сообщение Игорь Столяров » 22 Ноябрь 2019, 15:41

Внимание ! Ответ не в тему.
Есть прекрасный пример работы с Microsoft Crypto.API из Clarion (из какого-то Clarion Magazine), там есть в т.ч. и расчёт хеш-функций.
Точно помню что я его выкладывал - поищите ветку по шифрованию.
«V» значит Вендетта !

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Проблема с хеш функцией

Сообщение Игорь Столяров » 22 Ноябрь 2019, 15:45

Сам нашёл ! :) - см. последнюю закладку в окне с примером.
Вложения
crypto.zip
(24.51 КБ) 19 скачиваний
Последний раз редактировалось Игорь Столяров 22 Ноябрь 2019, 15:48, всего редактировалось 1 раз.
«V» значит Вендетта !

gopstop2007
✯ Ветеран ✯
Сообщения: 1293
Зарегистрирован: 25 Март 2009, 21:55

Проблема с хеш функцией

Сообщение gopstop2007 » 22 Ноябрь 2019, 15:48

Игорь Столяров писал(а):
22 Ноябрь 2019, 15:41
Внимание ! Ответ не в тему.
Есть прекрасный пример работы с Microsoft Crypto.API из Clarion (из какого-то Clarion Magazine), там есть в т.ч. и расчёт хеш-функций.
Точно помню что я его выкладывал - поищите ветку по шифрованию.
С радостью, но требования другие :)

Код: Выделить всё

Kupyna — итеративная криптографическая хеш-функция. Принята в качестве национального стандарта Украины ДСТУ 7564:2014[1] 
в качестве замены устаревшей хеш-функции ГОСТ 34.311-95.
 
 ссылка - https://ru.wikipedia.org/wiki/Kupyna
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Проблема с хеш функцией

Сообщение Игорь Столяров » 22 Ноябрь 2019, 15:56

gopstop2007 писал(а):
22 Ноябрь 2019, 15:48
стандарта Украины ДСТУ 7564:2014[1]
Вот об этом нужно предупреждать до свадьбы. :)
И уточнить, что там ещё требуется свой криптопровайдер, как минимум … он у Вас установлен ?
«V» значит Вендетта !

gopstop2007
✯ Ветеран ✯
Сообщения: 1293
Зарегистрирован: 25 Март 2009, 21:55

Проблема с хеш функцией

Сообщение gopstop2007 » 22 Ноябрь 2019, 16:38

Игорь Столяров писал(а):
22 Ноябрь 2019, 15:56
Вот об этом нужно предупреждать до свадьбы. :)
И уточнить, что там ещё требуется свой криптопровайдер, как минимум … он у Вас установлен ?
Причём тут провайдер. Есть код который создаёт хеш. Из данных на выходе. Нам это и надо.
Вот он в консоли работает. Нам надо тот же результат, но на кларионе.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп

Аватара пользователя
vic7tar
Старожил
Сообщения: 260
Зарегистрирован: 09 Февраль 2017, 20:12

Проблема с хеш функцией

Сообщение vic7tar » 22 Ноябрь 2019, 20:42

Пересобрал библиотеку в MinGW, подправил описания, может чем-то поможет?
Вложения
kupyna_MinGw.zip
(235.25 КБ) 23 скачивания
C10, Win10x64

Yufil
Ветеран движения
Сообщения: 1170
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

Проблема с хеш функцией

Сообщение Yufil » 23 Ноябрь 2019, 14:21

Игорь Столяров писал(а):
22 Ноябрь 2019, 15:45
Сам нашёл ! :) - см. последнюю закладку в окне с примером.
В этом коде - несколько тяжёлых ошибок, с ним поосторожнее.
Есть исправленный модуль, реально работоспособный...

Аватара пользователя
vic7tar
Старожил
Сообщения: 260
Зарегистрирован: 09 Февраль 2017, 20:12

Проблема с хеш функцией

Сообщение vic7tar » 23 Ноябрь 2019, 14:52

Да причём тут Игорь Столяров с его ссылкой. ТС обозначил свою проблему.
C10, Win10x64

gopstop2007
✯ Ветеран ✯
Сообщения: 1293
Зарегистрирован: 25 Март 2009, 21:55

Проблема с хеш функцией

Сообщение gopstop2007 » 23 Ноябрь 2019, 15:26

vic7tar писал(а):
22 Ноябрь 2019, 20:42
Пересобрал библиотеку в MinGW, подправил описания, может чем-то поможет?
Большое спасибо.
А какие параметры сборки DLL в mingw?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп

Аватара пользователя
vic7tar
Старожил
Сообщения: 260
Зарегистрирован: 09 Февраль 2017, 20:12

Проблема с хеш функцией

Сообщение vic7tar » 23 Ноябрь 2019, 16:02

Дело вот в чём.
DLL я собрал в VS2017 с использованием VisualGDB, сложно что-то высылать.
Но почему я пересобрал, исходная библиотека под x64. Поэтому и был вылет после сборки. Вот и всё.
C10, Win10x64

gopstop2007
✯ Ветеран ✯
Сообщения: 1293
Зарегистрирован: 25 Март 2009, 21:55

Проблема с хеш функцией

Сообщение gopstop2007 » 23 Ноябрь 2019, 16:19

vic7tar писал(а):
23 Ноябрь 2019, 16:02
Дело вот в чём.
DLL я собрал в VS2017 с использованием VisualGDB, сложно что-то высылать.
Но почему я пересобрал, исходная библиотека под x64. Поэтому и был вылет после сборки. Вот и всё.
Понятно. Еще раз спасибо, очень помогли :)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Проблема с хеш функцией

Сообщение Игорь Столяров » 23 Ноябрь 2019, 16:35

Yufil писал(а):
23 Ноябрь 2019, 14:21
В этом коде - несколько тяжёлых ошибок, с ним поосторожнее.
Есть исправленный модуль, реально работоспособный...
Упс ! Хорошо что этого не знают несколько банков и бюро кредитных историй … :)
А есть пример исправленного модуля ? ;)
«V» значит Вендетта !

Yufil
Ветеран движения
Сообщения: 1170
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

Проблема с хеш функцией

Сообщение Yufil » 23 Ноябрь 2019, 19:17

Не буду спорить, но дней пять потратил на вылавливание проблем - программа грохалась при обращении. Дебаггер тоже.
Моя копия по адресу

https://mega.nz/#!9sQyQSjT!kCrF7k69ZE4J ... pPiUAjRIrg

Пробежался глазами:
В нескольких местах добавил скобки UnlockThread - LockThred, иначе программа падала или висла.
Во многих местах нет никакой обработки ошибок, сделал обработчик с выдачей диагностики
Имя сертификата должно быть в UTF-8, а там в ASCII

Ну и так далее...

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Проблема с хеш функцией

Сообщение Игорь Столяров » 23 Ноябрь 2019, 19:45

Спасибо, понял ! Т.е. системных ошибок нет, есть некие эксплуатационные проблемы.
Я в принципе сам пример особо и не юзал, мне нужны были вызовы, прототипы и константы.
Ну и принципы работы с криптографией и хэш функцией - а далее уже всё потихоньку своё … :)
«V» значит Вендетта !

Ответить