我正在尝试停止使用 CAPICOM,因为我不能再使用它(64 位 Windows 7 机器)。
现有的使用TripleDES的代码是这样的:
EncryptedDataClass cryptic = new EncryptedDataClass();
cryptic.Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM.CAPICOM_ENCRYPTION_ALGORITHM_3DES;
cryptic.SetSecret(secretKey, CAPICOM_SECRET_TYPE.CAPICOM_SECRET_PASSWORD);
cryptic.Content = stringToEncrypt;
encryptedString = cryptic.Encrypt(CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_ANY);
为加密提供的唯一信息是 secretKey。 secretKey 大约有十个字节。有没有办法使用 .NET 类进行相同的加密。 注意:这用于验证与仍将使用 CAPICOM 的 Web 服务的连接。 非常感谢任何帮助或想法。
最佳答案
SetSecret 不是 key !!
来自 MSDN:
CAPICOM_SECRET_TYPE 枚举
CAPICOM_SECRET_TYPE 枚举指示用于派生用于数据加密/解密的 key 的 secret 类型。
常量 CAPICOM_SECRET_PASSWORD 加密 key 是从密码派生的。
关于c# - CAPICOM TripleDES 和 System.Security.Cryptography TripleDES 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3291743/