Прочитать на английском

Поделиться через


PaddingMode Перечисление

Определение

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

C#
public enum PaddingMode
C#
[System.Serializable]
public enum PaddingMode
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum PaddingMode
Наследование
PaddingMode
Атрибуты

Поля

Имя Значение Описание
ANSIX923 4

Строка заполнения по стандарту ANSIX923 состоит из последовательности байтов, каждый из которых заполняется нулями, кроме последнего — в него записывается число октетов заполнения.

ISO10126 5

Строка заполнения по стандарту ISO10126 состоит из последовательности байтов, каждый из которых заполняется случайными данными, кроме последнего — в него записывается число октетов заполнения.

None 1

Заполнение не выполнено.

PKCS7 2

Строка заполнения по стандарту PKCS 7 состоит из последовательности байтов, в каждый из которых записывается общее число добавленных байтов заполнения.

Zeros 3

Строка заполнения состоит из нулевых байтов.

Комментарии

Большинство обычных текстовых сообщений не состоят из нескольких байтов, которые полностью заполняют блоки. Часто для заполнения последнего блока недостаточно байтов. В этом случае к тексту добавляется строка заполнения. Например, если длина блока составляет 64 бита, а последний блок содержит только 40 бит, добавляется 24 бита заполнения.

Некоторые стандарты шифрования определяют определенную схему заполнения. В следующем примере показано, как работают эти режимы. При значении блока 8, длине данных 9, количеству заполнения октетов равно 7 и данным, равным FF FF FF FF FF FF FF:

Данных: FF FF FF FF FF FF FF FF FF
Заполнение X923: FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 07
Заполнение PKCS7: FF FF FF FF FF FF FF FF FF FF 07 07 07 07 07 07 07 07
ISO10126 заполнение: FF FF FF FF FF FF FF FF FF FF 7D 2A 75 EF F8 EF 07

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

См. также раздел