2011-01-05 52 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已被/將被棄用)。