Funcionalidad de valor de sal

El proveedor base crea claves simétricas de 40 bits creadas con once bytes de sal de valor cero, once bytes de sal distinta de cero si se especifica CRYPT_CREATE_SALT o ningún valor de sal. Sin embargo, una clave simétrica de 40 bits con sal de valor cero no equivale a una clave simétrica de 40 bits sin sal. Para la interoperabilidad, las claves deben crearse sin sal. Este problema se produce a partir de una condición predeterminada que solo se produce con claves de exactamente 40 bits. Todas las demás longitudes de clave no tienen asignada sal de forma predeterminada.

Tanto los proveedores base como el proveedor extendido pueden usar la marca CRYPT_NO_SALT para especificar que no se asigna ningún valor de sal para una clave simétrica de 40 bits. Las funciones que aceptan esta marca son CryptGenKey, CryptDeriveKey y CryptImportKey. De forma predeterminada, estas funciones proporcionan compatibilidad con versiones anteriores para el caso de clave simétrica de 40 bits continuando con el uso de la sal cero de once bytes de largo.