自定义加密服务提供商 (CSP) 的作者可以定义算法标识符。自定义 CSP 用于密钥规范 AT_KEYEXCHANGE 和 AT_SIGNATURE 的标识符取决于提供者。下表显示了当前定义的算法标识符。
| 常数 | 说明 |
|---|---|
CALG_AES_128 | 128 位 AES 块加密算法。 |
CALG_AES_192 | 192 位 AES 块加密算法。 |
CALG_AES_256 | 256 位 AES 块加密算法。 |
CALG_AGREEDKEY_ANY | Diffie-Hellman 协议密钥句柄的临时算法标识符。 |
CALG_CYLINK_MEK* | 一种创建 40 位 DES 密钥的算法,该密钥具有奇偶校验位和零密钥位,以使其密钥长度为 64 位。 |
CALG_DES | DES 加密算法。 |
CALG_DESX | DES 加密算法。 |
CALG_3DES | 三重DES加密算法。 |
CALG_3DES_112 | 双密钥三重DES加密算法,有效密钥长度等于112位。 |
CALG_DH_EPHEM | Diffie-Hellman 临时密钥交换算法。 |
CALG_DH_SF | Diffie-Hellman 存储转发密钥交换算法。 |
CALG_DSS_SIGN | DSA 公钥签名算法。 |
CALG_HMAC* | HMAC 键控散列算法。 |
CALG_KEA_KEYX | KEA 密钥交换算法(FORTEZZA)。 |
CALG_MAC* | MAC 密钥哈希算法。 |
CALG_MD2* | MD2 哈希算法。 |
CALG_MD4 | MD4 散列算法。 |
CALG_MD5* | MD5 哈希算法。 |
CALG_RC2* | RC2块加密算法。 |
CALG_RC4* | RC4流加密算法。 |
CALG_RC5 | RC5块加密算法。 |
CALG_RSA_KEYX* | RSA公钥密钥交换算法。 |
CALG_RSA_SIGN* | RSA公钥签名算法。 |
CALG_SEAL | SEAL 加密算法。 |
CALG_SHA* | SHA 哈希算法。 |
CALG_SHA1* | 与 CALG_SHA 相同,只是它生成 160 位消息摘要或哈希。 |
CALG_SHA_256 | 生成 256 位消息摘要或散列。 |
CALG_SHA_384 | 生成 384 位消息摘要或散列。 |
CALG_SHA_512 | 生成一个 512 位的消息摘要或散列。 |
CALG_SKIPJACK | Skipjack 块加密算法 (FORTEZZA)。 |
CALG_SSL3_SHAMD5 | SSL3 客户端认证算法。 |
CALG_TEK | TEK 算法(FORTEZZA)。 |
CALG_SSL3_SHAMD5 | 由 schannel.dll 操作系统使用。应用程序不应使用此标识符。 |
CALG_SSL3_MASTER | 由 schannel.dll 操作系统使用。应用程序不应使用此标识符。 |
CALG_SCHANNEL_MASTER_HASH | 由 schannel.dll 操作系统使用。应用程序不应使用此标识符。 |
CALG_SCHANNEL_MAC_KEY | 由 schannel.dll 操作系统使用。应用程序不应使用此标识符。 |
CALG_SCHANNEL_ENC_KEY | 由 schannel.dll 操作系统使用。应用程序不应使用此标识符。 |
CALG_PCT1_MASTER | 由 schannel.dll 操作系统使用。应用程序不应使用此标识符。 |
CALG_SSL2_MASTER | 由 schannel.dll 操作系统使用。 应用程序不应使用此标识符。 |
CALG_TLS1_MASTER | 由 schannel.dll 操作系统使用。 应用程序不应使用此标识符。 |
CALG_TLS1PRF | 由 schannel.dll 操作系统使用。 应用程序不应使用此标识符。 |
