c# - CAPICOM TripleDES 和 System.Security.Cryptography TripleDES 之间的区别

标签 c# .net capicom encryption-symmetric

我正在尝试停止使用 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/

相关文章:

c# - 将参数(字符串)传递给 GetAsync()?

javascript - 如何使用浏览器中的证书私钥对文档进行签名(CAPICOM 替代方案)?

java - Capicom 和 SHA1 - 帮助将 Java 代码转换为 Delphi

c# - 对象引用未设置为 Windows 8 应用程序中对象的实例

c# - 从我的 .NET Windows 应用程序发出的电子邮件(通过 SendGrid)中的字体未设置为 Arial

c# - 手动将 RedirectToRouteResult 解析为查看结果

c# - 在数据库中存储图像

c# - Azure 工具 - 未将对象引用设置为对象的实例

.net - 分层数据模板中的命令绑定(bind)