在使用 CryptoAPI 对文件进行 RC4 加密的 Microsoft C示例代码中,函数CryptGenKey和CryptDeriveKey被传递了一个未记录的标志
#define KEYLENGTH 0x00800000
...
if (CryptGenKey(
hCryptProv,
ENCRYPT_ALGORITHM,
KEYLENGTH | CRYPT_EXPORTABLE,
&hKey))
...
CryptoAPI 头文件中没有定义该值的标志wincrypt.h
。离开它似乎没有任何害处。事实上,当我将算法从 RC4 更改为 AES 时,使用此标志会导致ERROR_INVALID_PARAMETER
.
它有什么用?