大量搜索和阅读并没有告诉我capicom.encrypteddata
类模块(它是 VB6,但这在回答这个问题时不重要)是使用 2-key 3DES 还是 3-key 3DES。( .Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM_3DES
) 有人知道它使用的是哪一个吗?此信息的来源也将有所帮助。我怀疑,因为我不认为支持足够高的密钥长度,所以它是 2DES。但我还没有找到可接受的确认。
Brian
问问题
1361 次
1 回答
2
CAPICOM 是 CryptoAPI 之上的一个瘦包装器。如果您解码来自 EncryptedData.Encrypt() 的输出,您将看到类似这样的内容(它是以专有格式编码的 ASN.1):
SEQUENCE {
OBJECT IDENTIFIER '1 3 6 1 4 1 311 88 3'
[0] {
SEQUENCE {
OBJECT IDENTIFIER '1 3 6 1 4 1 311 88 3 1'
[0] {
SEQUENCE {
INTEGER 131073
INTEGER 26115
INTEGER 192
OCTET STRING
AA A6 05 4E FA AF 4C 0B
OCTET STRING
3A 22 58 C3 51 D8 91 C8 7B 3C C9 51 9B E7 BA B7
OCTET STRING
84 FA 56 AF 01 FE C9 74
}
}
}
}
}
注意 26115。这是 CALG_3DES 的值,它是具有三个密钥的 3DES 的 CryptoAPI 标识符(具有两个密钥的 3DES 称为 CALG_3DES_112)。192 是密钥长度,也匹配三密钥 3DES:
于 2008-10-13T08:31:08.607 回答