Funcionalidade de valor de sal

O Provedor Base cria chaves simétricas de 40 bits criadas com onze bytes de sal de valor zero, onze bytes de sal diferente de zero se CRYPT_CREATE_SALT for especificado ou nenhum valor de sal. No entanto, uma chave simétrica de 40 bits com sal de valor zero não é equivalente a uma chave simétrica de 40 bits sem sal. Para interoperabilidade, as chaves devem ser criadas sem sal. Esse problema resulta de uma condição padrão que ocorre apenas com chaves de exatamente 40 bits. Todos os outros comprimentos de chave não têm sal alocado por padrão.

Os Provedores Base e o Provedor Estendido podem usar o sinalizador CRYPT_NO_SALT para especificar que nenhum valor de sal é alocado para uma chave simétrica de 40 bits. As funções que aceitam esse sinalizador são CryptGenKey, CryptDeriveKey e CryptImportKey. Por padrão, essas funções fornecem compatibilidade com versões anteriores para o caso de chave simétrica de 40 bits, continuando o uso do sal de valor zero de onze bytes.