2011-01-05 27 views
0

这是使用CAPICOM如何转换CAPICOM到.NET相当于

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) 

从我的VB6应用程序的代码,但我需要相同的功能转换到VB.NET。有相当于获得相同的值吗?

回答

1

作为开始,请查看System.Security.Cryptography命名空间。你会在那里找到相关的课程,包括TripleDES课程。

+0

为什么这被认为是完整的/被接受的答案?找到这些类很容易,但是如何确保3DES IV和Key在.NET等效代码中初始化以解密以前在VB6中加密的值? – 2015-09-01 19:18:37

+0

@KrisOye:问题很模糊,所以答案很广泛。 – 2015-09-01 22:39:36

0

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

根据MS documentation,我给人的印象是不可能将您的代码迁移到CAPI库的P/Invoke调用以外的任何其他位置。如果你发现自己这样做了,你可能会更好地服务于创建一个使用CAPI解密的迁移工具,然后使用开放标准加密/导出数据(听起来像CAPI已被/将被弃用)。