Найти в Дзене
Блог 1С программиста

Коротко о Хешировании

Материал с сайта myblog-1c.ru. Хеширование — это одностороннее преобразование данных любой длины в компактный «отпечаток» фиксированного размера по алгоритму, который для одной и той же последовательности символов всегда вернет одинаковый результат. В отличии от шифрования предполагается, что хеширование — это необратимый процесс. На данный момент платформа 1С поддерживает 5-ть алгоритмов хеширования: CRC32, MD5, SHA1, SHA256, SHA512. Ниже приведены примеры Хеша полученные из строки «Исходный текст myblog-1c.ru» разными хеш функциями. Замер времени хеширования 10000 строк длиной от 50 до 150 символов: * При разных итерациях время немного меняется, в зависимости от загруженности сервера, но соотношения между разными алгоритмами примерно сохраняется. На практике некоторые алгоритмы были признаны не безопасными для криптографии, что не мешает использовать их для других целей, например как "контрольную сумму" целостности данных. Например алгоритм MD5 считается самым распространенным, досту
Оглавление

Материал с сайта myblog-1c.ru.

Хеширование — это одностороннее преобразование данных любой длины в компактный «отпечаток» фиксированного размера по алгоритму, который для одной и той же последовательности символов всегда вернет одинаковый результат. В отличии от шифрования предполагается, что хеширование — это необратимый процесс.

Хеширование в 1С

На данный момент платформа 1С поддерживает 5-ть алгоритмов хеширования: CRC32, MD5, SHA1, SHA256, SHA512.

Ниже приведены примеры Хеша полученные из строки «Исходный текст myblog-1c.ru» разными хеш функциями.

Пример кода по получению Хеша в 1С

-2

Краткая характеристика алгоритмов

-3

Сравнение скорости хеширования

Замер времени хеширования 10000 строк длиной от 50 до 150 символов:

-4

* При разных итерациях время немного меняется, в зависимости от загруженности сервера, но соотношения между разными алгоритмами примерно сохраняется.

Хеширование и безопасность

На практике некоторые алгоритмы были признаны не безопасными для криптографии, что не мешает использовать их для других целей, например как "контрольную сумму" целостности данных.

Например алгоритм MD5 считается самым распространенным, доступным на многих языках программирования, достаточно быстрым, но не безопасным, его не рекомендуется использовать в криптографии.

Для дополнительной защиты хешей от расшифровки методом перебора (Brute force) используют следующие приемы:

  • Соль - добавление определенной последовательности символов к строке перед шифрованием.
  • Перец - аналогичное добавление определенной последовательности символов, которая храниться на изолированном защищенном носителе.
  • Итеративное хэширование - повторное хеширование полученного хеша определенное количество раз.

Кроме того, чем сложнее будет исходная строка, тем больше времени потребуется взломщикам, чтобы подобрать ее по полученному Хешу.

Оригинал статьи можно посмотреть по ссылке.