Funzionalità del valore salt

Il provider di base crea chiavi simmetriche a 40 bit create con undici byte di sale zero, undici byte di sale non zero se viene specificato CRYPT_CREATE_SALT o nessun valore salt. Una chiave simmetrica a 40 bit con sale con valore zero, tuttavia, non equivale a una chiave simmetrica a 40 bit senza salt. Per l'interoperabilità, le chiavi devono essere create senza sale. Questo problema comporta una condizione predefinita che si verifica solo con chiavi di esattamente 40 bit. Per impostazione predefinita, tutte le altre lunghezze di chiave non hanno allocato sale.

Sia i provider di base che il provider esteso possono usare il flag di CRYPT_NO_SALT per specificare che non viene allocato alcun valore salt per una chiave simmetrica a 40 bit. Le funzioni che accettano questo flag sono CryptGenKey, CryptDeriveKey e CryptImportKey. Per impostazione predefinita, queste funzioni forniscono compatibilità con le versioni precedenti per il case della chiave simmetrica a 40 bit continuando l'uso del sale zero-long di undici byte.