许多搜索和阅读都没有告诉我capicom.encrypteddata
类模块(它是VB6,但回答这个问题无关紧要)是使用2键3DES还是3键3DES。 (.Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM_3DES
)任何人都知道它正在使用哪一个?这些信息的来源也会有所帮助。我怀疑,因为我认为不支持足够高的密钥长度,所以它是2DES。但我没有找到可接受的确认。
答案 0 :(得分: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: