Vb.net 如何将CAPICOM转换为.NET等效版本

Vb.net 如何将CAPICOM转换为.NET等效版本,vb.net,encryption,capicom,Vb.net,Encryption,Capicom,这是使用CAPICOM的VB6应用程序中的代码 Set ed = New EncryptedData ed.Algorithm = CAPICOM_ENCRYPTION_ALGORITHM_3DES ed.SetSecret mySecret, CAPICOM_SECRET_PASSWORD ed.Content = myText myResult = ed.Encrypt(CAPICOM_ENCODE_BINARY) 但是我需要将相同的功能转换为VB.NET。是否有一个等价物可以获得相同的值

这是使用CAPICOM的VB6应用程序中的代码

Set ed = New EncryptedData
ed.Algorithm = CAPICOM_ENCRYPTION_ALGORITHM_3DES
ed.SetSecret mySecret, CAPICOM_SECRET_PASSWORD
ed.Content = myText
myResult = ed.Encrypt(CAPICOM_ENCODE_BINARY)

但是我需要将相同的功能转换为VB.NET。是否有一个等价物可以获得相同的值?

首先,请查看名称空间。你可以在那里找到相关的课程,包括这门课。

我也是沿着这条路走的。我使用上面提到的加密名称空间对VB6/CAPICOM中的数据进行了各种解密尝试(没有任何运气)


根据,我的印象是,除了对CAPI库的p/Invoke调用之外,不可能将代码迁移到其他任何地方。如果您发现自己正在这样做,那么最好创建一个迁移工具,使用CAPI进行解密,然后使用开放标准对数据进行加密/导出(听起来CAPI已经/将被弃用)。

为什么认为这是一个完整/公认的答案?找到类很容易,但如何确保3DES IV和密钥在.NET等效代码中初始化,以解密先前在VB6中加密的值?@Krioye:问题很模糊,因此答案很广泛。