Библиотеки » Криптография (dart:crypto) 793 класс CryptoUtils Абстрактный класс CryptoUtils представляет несколько вспомогательных функций для работы с массивами целых чисел и преобразования их в строковые представления и обратно. класс Hash Абстрактный класс Hash является базовым классом для криптографических алгоритмов хеширования и создания «отпечатков» или хешей сообщений произвольной длины. В классе описаны два основных метода для создания "отпечатков" для массива байт: с помощью метода Hash.add() можно добавлять данные к сообщению с помощью метода Hash.close() можно получить хеш сообщения класс SHA1 Класс self реализует криптографический алгоритмм хеширования SHA1 (англ. Secure Hash Algorithm Version 1 — безопасный алгоритм хеширования, версия 1) и позволяющий создавать «отпечатки» или хеши сообщений произвольной длины. Для входного сообщения произвольной длины (максимум 264 - 1 бит) алгоритм генерирует 160-битное хеш-значение. Используется во многих криптографических приложениях и протоколах. Принципы, положенные в основу SHA-1, аналогичны тем, которые использовались Рональдом Ривестом при проектировании MD4. SHA-1 является наиболее распространенным из всего семейства SHA и применяется в различных широко распространенных криптографических приложениях и алгоритмах. класс SHA256 Класс self реализует криптографический алгоритмм хеширования SHA-256, разновидность SHA-2 (англ. Secure Hash Algorithm Version 2 — безопасный алгоритм хеширования, версия 2) и позволяющий создавать «отпечатки» или хеши сообщений произвольной длины. Для входного сообщения произвольной длины (максимум 264 - 1 бит) алгоритм генерирует 256-битное хеш-значение. Хеш-функции семейства SHA-2 разработаны Агентством национальной безопасности США. Используется во многих криптографических приложениях и протоколах. Исходное сообщение после дополнения разбивается на блоки, каждый блок — на 16 слов. Алгоритм пропускает каждый блок сообщения через цикл с 64-мя или 80-ю итерациями (раундами). На каждой итерации 2 слова преобразуются, функцию преобразования задают остальные слова. Результаты обработки каждого блока складываются, сумма является значением хеш-функции. класс MD5 Класс self реализует криптографический 128-битный алгоритм хеширования MD5 (англ. Message Digest 5) и позволяющий создавать «отпечатки» или хеши сообщений произвольной длины. Для входного сообщения произвольной длины алгоритм генерирует 128-битное хеш-значение. Разработан профессором Рональдом Л. Ривестом из Массачусетского технологического института (Massachusetts Institute of Technology, MIT) в 1991 году. На данный момент существуют несколько видов «взлома» хешей MD5 (перебор по словарю, прямой перебор значений, RainbowCrack). Алгоритм MD5 является устаревшим и не рекомендованным к использованию. Cледует избегать использования MD5 в любых целях! класс HMAC Абстрактный класс self предоставляет набор методов для проверки целостности данных на основе секретного ключа, используя метод HMAC (сокращение от англ. hash-based message authentication code, хеш-код аутентификации сообщений). Механизмы, которые предоставляют такие проверки целостности на основе секретного ключа, обычно называют кодом аутентичности сообщения (MAC). Как правило, МАС используется между двумя сторонами, которые разделяют секретный ключ для проверки подлинности информации, передаваемой между этими сторонами. Этот стандарт определяет MAC. Механизм, который использует криптографические хеш-функции в сочетании с секретным ключом называется HMAC. Полученный код аутентичности позволяет убедиться в том, что данные не изменялись каким бы то ни было способом с тех пор как они были созданы, переданы или сохранены доверенным источником.