MicroPython:Библиотеки/ucryptolib: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Строка 7: Строка 7:
== Классы ==
== Классы ==


* Класс ucryptolib.aes
== Класс ucryptolib.aes ==
** Метод класса __init__(key, mode[, IV]) – инициализирует объект шифра, подходящий для шифрования/расшифровки. Примечание: после инициализации объект шифра можно использовать только для шифрования или расшифровки. Запуск decrypt() после encrypt() и наоборот не поддерживается.
 
* Метод класса __init__(key, mode[, IV]) – инициализирует объект шифра, подходящий для шифрования/расшифровки. Примечание: после инициализации объект шифра можно использовать только для шифрования или расшифровки. Запуск decrypt() после encrypt() и наоборот не поддерживается.
 
Параметры:
Параметры:
*** key – ключ шифрования/расшифровки (это значение вроде объекта bytes).
* key – ключ шифрования/расшифровки (это значение вроде объекта bytes).
*** mode – это:
* mode – это:
**** 1 (или ucryptolib.MODE_ECB, если есть) для режима электронной кодовой книги (ECB).
** 1 (или ucryptolib.MODE_ECB, если есть) для режима электронной кодовой книги (ECB).
**** 2 (или ucryptolib.MODE_CBC, если есть) для режима сцепления блоков шифротекста (CBC).
** 2 (или ucryptolib.MODE_CBC, если есть) для режима сцепления блоков шифротекста (CBC).
**** 3 (или ucryptolib.MODE_CTR, если есть) для режима счетчика (CTR).
** 3 (или ucryptolib.MODE_CTR, если есть) для режима счетчика (CTR).
*** IV – это вектор инициализации для режима CBC и начальное значение счетчика для режима CTR.
* IV – это вектор инициализации для режима CBC и начальное значение счетчика для режима CTR.
** encrypt(in_buf[, out_buf]) – зашифровывает in_buf. Если аргумент out_buf не задан, возвращенный результат будет в виде вновь созданного объекта bytes, под который только что была выделена память. В противном случае результат будет записан в изменяемый буфер out_buf. Кроме того, в аргументах in_buf и out_buf может быть задан один и тот же изменяемый буфер, и в этом случае данные будут зашифрованы на месте.
* encrypt(in_buf[, out_buf]) – зашифровывает in_buf. Если аргумент out_buf не задан, возвращенный результат будет в виде вновь созданного объекта bytes, под который только что была выделена память. В противном случае результат будет записан в изменяемый буфер out_buf. Кроме того, в аргументах in_buf и out_buf может быть задан один и тот же изменяемый буфер, и в этом случае данные будут зашифрованы на месте.
** decrypt(in_buf[, out_buf]) – расшифровывает данные. В остальном работает аналогично encrypt().
* decrypt(in_buf[, out_buf]) – расшифровывает данные. В остальном работает аналогично encrypt().





Текущая версия от 14:15, 4 октября 2020

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Модуль ucryptolib – криптографические шифры[1]

Классы

Класс ucryptolib.aes

  • Метод класса __init__(key, mode[, IV]) – инициализирует объект шифра, подходящий для шифрования/расшифровки. Примечание: после инициализации объект шифра можно использовать только для шифрования или расшифровки. Запуск decrypt() после encrypt() и наоборот не поддерживается.

Параметры:

  • key – ключ шифрования/расшифровки (это значение вроде объекта bytes).
  • mode – это:
    • 1 (или ucryptolib.MODE_ECB, если есть) для режима электронной кодовой книги (ECB).
    • 2 (или ucryptolib.MODE_CBC, если есть) для режима сцепления блоков шифротекста (CBC).
    • 3 (или ucryptolib.MODE_CTR, если есть) для режима счетчика (CTR).
  • IV – это вектор инициализации для режима CBC и начальное значение счетчика для режима CTR.
  • encrypt(in_buf[, out_buf]) – зашифровывает in_buf. Если аргумент out_buf не задан, возвращенный результат будет в виде вновь созданного объекта bytes, под который только что была выделена память. В противном случае результат будет записан в изменяемый буфер out_buf. Кроме того, в аргументах in_buf и out_buf может быть задан один и тот же изменяемый буфер, и в этом случае данные будут зашифрованы на месте.
  • decrypt(in_buf[, out_buf]) – расшифровывает данные. В остальном работает аналогично encrypt().


<syntaxhighlight lang="python" enclose="div">

См.также

Внешние ссылки