PureBasic

AESDecoder()

Синтаксис

Result = AESDecoder(*Input , *Output , Size , *Key , Bits , *InitializationVector [, Mode])

Описание


Декодирует данные из указанного входного буфера "*Input" с помощью алгоритма AES и помещает их в выходной буфер "*Output".

Параметры

*Input Входной буфер с закодированными данными.
*Output Выходной буфер, в который будут отправлены простые данные. Входной и выходной буферы должны быть различными.
Size Количество байтов, для декодирования. Это значение, должны быть по крайней мере 16 байтов. Чтобы декодировать что-то меньшее, к данным должно быть добавлено дополнение перед кодированием.
*Key Буфер, содержащий ключ для декодирования. Его размер зависит от параметра 'Bits': 16 байтов для 128-разрядного шифрования, 24 байта для 192 битов и 32 байта для 256-разрядного.
Bits Размер ключа используемый при шифровании. Допустимыми значениями являются 128, 192 и 256.
*InitializationVector Вектор инициализации - это блок случайных данных, используемый для инициализации шифрования (для модификации ключевой последовательности), чтобы избежать уязвимостей в декодировании (требуется только при использовании режима #PB_Cipher_CBC). Его размер всегда - 16-байтов long типа. Содержание этого блока данных должно соответствовать тому, который использовался при кодировании данных.
Mode (дополн.) Может быть одним из следующих значений:
  #PB_Cipher_CBC: Режим кодирования по умолчанию (Cipher Block Chaining). Требует '*InitializationVector'.
            Рекомендуется как более надёжный, чем режим ECB mode.
  #PB_Cipher_ECB: Альтернативный режим (Electronic CodeBook, электронная книга кодов). 
          Он не использует ни случайное значение, ни сцепление шифрующихся блоков
          (каждый блок шифруется независимо), что делает его менее сильным, чем CBC.
          И он не должен использоваться для серьезного шифрования.

Возвращаемое значение

Возвращает не нулевое значение, если декодирование было успешным, в противном случае 0.

Комментарии

Для получения дополнительной информации о AES и наглядных исходных примеров, смотрите AESEncoder().

См. также

AESEncoder(), StartAESCipher()

Поддерживаемые OS

Все

<- Оглавление Cipher - AESEncoder() ->