8.х MD5 или что-то вроде того

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем CSCO12103692, 24 авг 2012.

  1. TopicStarter Overlay
    CSCO12103692
    Offline

    CSCO12103692 Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    190
    Симпатии:
    0
    Баллы:
    26
    Всем добрый день!
    В поисках решения очередной проблемки взываю к коллективному разуму.


    Есть некая string длиной 120кб примерно из которой нужно получить уникальный ключ, чтобы отличать потом её от других strings.

    Как это сделать?

    Само собой подумал об MD5 (SHA-1...), но в нете одна лабуда на хеширование паролей. Кто нибудь решал подобные задачи, и если да, то как именно?

    зы
    К сожалению банальное сравнение строк тут не поможет. Дело в том, что эта строка потом пишется в железо, и никак назад ты ее получить не можешь. По моей задумке железка сможет тебе только вернуть ключ, чтобы бы понял какая именно база в конкретной железке сейчас активна.
  2. TopicStarter Overlay
    CSCO12103692
    Offline

    CSCO12103692 Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    190
    Симпатии:
    0
    Баллы:
    26
    Апдейт

    Взял одну из обработок для хеширования паролей и загнал ей на вход свою строчку. Он думал где-то в районе пол-минуты, и хотя выдал правильный результат, это слишком долго.
    Как написал некто Гений1С
    "В 1С нет встроенной функции генерации MD5, приходится использовать сторонние алгоритмы. Есть медленные функции вычисления MD5, написанные на 1С, есть быстрые, но использующие COM-компоненты. Есть быстрые функции вычисления хэшей на 1С, но это не MD5."


    Вопрос еще открыт, и если кто колупался и сделал, то расскажите пожалуйста, не держите это в себе^^
    В принципе именно MD5 мне никуда не уперся, нужно лишь составить уникальный ключ по строке.
  3. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    А самим написать ?
  4. TopicStarter Overlay
    CSCO12103692
    Offline

    CSCO12103692 Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    190
    Симпатии:
    0
    Баллы:
    26
    Доводилось интересоваться что там у MD5, и как он работает? Ты предлагаешь вот так вот с ходу "написать" аналогичный алгоритм??
  5. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Ну а зачем именно MD5, можно же свой алгоритм написать.
  6. TopicStarter Overlay
    CSCO12103692
    Offline

    CSCO12103692 Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    190
    Симпатии:
    0
    Баллы:
    26
    ....Убрал, тут дискуссия бесполезна.

    В общем если кто ковырял - напишите пожалуйста каким методом реализовывали.
  7. TopicStarter Overlay
    CSCO12103692
    Offline

    CSCO12103692 Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    190
    Симпатии:
    0
    Баллы:
    26
    Крепко подумав решил, что раз на 1С битовые операции еле работают, то хеширование не наш метод.
    Буду просто из чего-нибудь составлять свой ключ, без сложных математических ухищрений.

    Прелесть хеша была в том, что эта операция бы производилась автоматически, и не нужно было бы париться о уникальности ключа. Но, что есть то есть.
  8. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    CSCO12103692, платформу 8.3 можете посмотреть (в стадии бета пока которая), там добавили функцию вычисления md5.

    А та обработка, которая думала у вас полминуты - там получение md5 каким образом осуществляется? Именно на языке 1С? Я к тому что из 1С можно вызвать скрипт вычисления md5 на vb или js, возможно будет быстрее работать.
  9. TopicStarter Overlay
    CSCO12103692
    Offline

    CSCO12103692 Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    190
    Симпатии:
    0
    Баллы:
    26
    Да, действительно имело смысл копать в области скриптовых вставок. 8.3 пока выйдет стабильная версия, пока все переедут на нее.. поседеешь.

    Сегодня перебирал варианты и обнаружил что оказывается все уже разобрано:

    http://www.forum.mis...c.php?id=378975



    От себя добавлю что MD5 писаный на JScript работает в десятки раз быстрее чем на 1С.

    Оба... а чего форум код 1с не принял?????? Админы, шо такое?)))))
  10. TopicStarter Overlay
    CSCO12103692
    Offline

    CSCO12103692 Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    190
    Симпатии:
    0
    Баллы:
    26
    Убрал теги 1скод, потому как все форматирование под ним умирало
  11. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    В 8.3 есть возможность делать все проще. Доступна возможность вычисления значения хеш-функции по алгоритмам MD5 и CRC32 с помощью объекта ХэшированиеДанных.
  12. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Подниму тему. Кто реализовывал хеширование под 8.2 и ГОСТ Р 34.11-94 ?

Поделиться этой страницей