MicroPython:Библиотеки/uhashlib: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) (Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} <syntaxhighlight lang="python" enclose="div"> =...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=uhashlib – алгоритмы хэширования<ref>[http://docs.micropython.org/en/latest/library/uhashlib.html docs.micropython.org - uhashlib – hashing algorithms]</ref>= | |||
В этом модуле реализована часть функционала соответствующего модуля CPython. Более подробно читайте в документации к CPython о модуле [https://docs.python.org/3.5/library/hashlib.html#module-hashlib hashlib]. | |||
В этом модуле реализованы алгоритмы хэширования двоичных данных. Перечень доступных алгоритмов зависит от используемой платы. В число алгоритмов, которые могут быть реализованы в MicroPython-порте, входят: | |||
* SHA256 – современный алгоритм хэширования текущего поколения из семейства SHA-2. Подходит для ситуаций, где требуется криптостойкость. Входит в ядро MicroPython и рекомендуется для использования на всех платах, кроме случаев, где этому мешают ограничения по размеру кода. | |||
* SHA1 – алгоритм предыдущего поколения. Сейчас использовать его не рекомендуется, но SHA1 – это часть большого количества интернет-стандартов и приложений, поэтому этот алгоритм, скорее всего, будет реализован в платах, чей функционал направлен на работу в сети и взаимосовместимость. | |||
* MD5 – устаревающий алгоритм, который не считается криптостойким. Он используется лишь на небольшом количестве плат, направленных на взаимосовместимость с устаревающими приложениями. | |||
==Конструкторы== | |||
* Класс uhashlib.sha256([data]) – создает объект SHA256-хэшера и опционально «скармливает» ему данные, заданные в аргументе data. | |||
* Класс uhashlib.sha1([data]) – создает объект SHA1-хэшера и опционально «скармливает» ему данные, заданные в аргументе data. | |||
* Класс suhashlib.md5([data]) – создает объект MD5-хэшера и опционально «скармливает» ему данные, заданные в аргументе data. | |||
==Методы== | |||
* hash.update(data) – добавляет больше двоичных данных в хэш. | |||
* hash.digest() – возвращает хэш для всех данных, пропущенных через хэш-алгоритм, в виде объекта bytes. После вызова этого метода в хэш больше нельзя будет добавлять новые данные. | |||
* hash.hexdigest() – этот метод НЕ РЕАЛИЗОВАН. Чтобы достичь такого же эффекта, используйте ubinascii.hexlify(hash.digest()). | |||
<syntaxhighlight lang="python" enclose="div"> | <syntaxhighlight lang="python" enclose="div"> |
Текущая версия от 20:31, 21 августа 2020
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
uhashlib – алгоритмы хэширования[1]
В этом модуле реализована часть функционала соответствующего модуля CPython. Более подробно читайте в документации к CPython о модуле hashlib.
В этом модуле реализованы алгоритмы хэширования двоичных данных. Перечень доступных алгоритмов зависит от используемой платы. В число алгоритмов, которые могут быть реализованы в MicroPython-порте, входят:
- SHA256 – современный алгоритм хэширования текущего поколения из семейства SHA-2. Подходит для ситуаций, где требуется криптостойкость. Входит в ядро MicroPython и рекомендуется для использования на всех платах, кроме случаев, где этому мешают ограничения по размеру кода.
- SHA1 – алгоритм предыдущего поколения. Сейчас использовать его не рекомендуется, но SHA1 – это часть большого количества интернет-стандартов и приложений, поэтому этот алгоритм, скорее всего, будет реализован в платах, чей функционал направлен на работу в сети и взаимосовместимость.
- MD5 – устаревающий алгоритм, который не считается криптостойким. Он используется лишь на небольшом количестве плат, направленных на взаимосовместимость с устаревающими приложениями.
Конструкторы
- Класс uhashlib.sha256([data]) – создает объект SHA256-хэшера и опционально «скармливает» ему данные, заданные в аргументе data.
- Класс uhashlib.sha1([data]) – создает объект SHA1-хэшера и опционально «скармливает» ему данные, заданные в аргументе data.
- Класс suhashlib.md5([data]) – создает объект MD5-хэшера и опционально «скармливает» ему данные, заданные в аргументе data.
Методы
- hash.update(data) – добавляет больше двоичных данных в хэш.
- hash.digest() – возвращает хэш для всех данных, пропущенных через хэш-алгоритм, в виде объекта bytes. После вызова этого метода в хэш больше нельзя будет добавлять новые данные.
- hash.hexdigest() – этот метод НЕ РЕАЛИЗОВАН. Чтобы достичь такого же эффекта, используйте ubinascii.hexlify(hash.digest()).
<syntaxhighlight lang="python" enclose="div">