Spécification d’une valeur de sel
Le fournisseur de base et le fournisseur étendu peuvent spécifier la valeur et la longueur de la valeur de sel à utiliser. Le fournisseur de base définit une valeur salt à l’aide de la valeur de paramètre KP_SALT. Le fournisseur de base définit toujours onze octets de valeur de sel.
Le fournisseur amélioré définit la valeur salt en appelant CryptSetKeyParam avec la valeur de paramètre KP_SALT_EX spécifiée et avec le paramètre pbData pointant vers une structure CRYPT_INTEGER_BLOB qui contient le sel.
Notes
La longueur totale d’une clé symétrique de fournisseur amélioré et sa valeur salt ne peuvent pas être supérieures à 128 bits.
KP_SALT continue d’être fourni à des fins de compatibilité descendante avec le fournisseur de base. Les applications plus récentes doivent utiliser la valeur de paramètre KP_SALT_EX.
L’exemple suivant définit une valeur de sel.
// Specify 4 bytes of salt.
BYTE rgbSalt[] = {0x01, 0x02, 0x03, 0x04};
CRYPT_DATA_BLOB sSaltData;
sSaltData.pbData = rgbSalt;
sSaltData.cbData = sizeof(rgbSalt);
// Set the 4 bytes of salt required.
// hKey is an HCRYPTPROV handle previously
// assigned, such as by CryptImportKey.
if (CryptSetKeyParam(
hKey,
KP_SALT_EX,
(BYTE*)&sSaltData,
0))
{
printf("The salt value is set.\n");
}
else
{
printf("Setting the salt value failed.\n");
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour