Функциональность соляного значения
Базовый поставщик создает 40-разрядные симметричные ключи , созданные с одиннадцатью байтами нулевой соли, одиннадцатью байтами ненулевой соли, если указано CRYPT_CREATE_SALT, или без значения соли. Однако 40-разрядный симметричный ключ с солью нулевого значения не эквивалентен 40-разрядному симметричному ключу без соли. Для взаимодействия ключи должны создаваться без соли. Эта проблема возникает из-за условия по умолчанию, которое возникает только с ключами ровно 40 бит. Для всех остальных длин ключей по умолчанию не выделяется соль.
Как базовые поставщики, так и расширенные поставщики могут использовать флаг CRYPT_NO_SALT, чтобы указать, что для 40-разрядного симметричного ключа не выделяется значение соли. Этот флаг принимает функции CryptGenKey, CryptDeriveKey и CryptImportKey. По умолчанию эти функции обеспечивают обратную совместимость для 40-разрядного симметричного ключа, продолжая использовать одиннадцатибайтовую соль нулевого значения.