2011-01-05 4 views
0

Это код из моего VB6 приложения с помощью 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) 

, но мне нужно, чтобы преобразовать такую ​​же функциональность VB.NET. Есть ли эквивалент для получения одинаковых значений?

ответ

1

В начале, посмотрите на пространство имен System.Security.Cryptography. Там вы найдете соответствующие классы, включая класс TripleDES.

+0

Почему это считается полным/принятым ответом? ЛУЧШЕ найти классы, но как вы гарантируете, что 3DES IV и Key инициализируются в эквивалентном стандарте .NET, чтобы расшифровать значение, ранее зашифрованное в VB6? –

+0

@KrisOye: Вопрос был неопределенным, поэтому ответ широк. –

0

Я тоже пошел по этой дороге. Я делал различные попытки расшифровать данные из VB6/CAPICOM, используя упомянутые выше криптопространственные пространства Джеймс (без везения).

В соответствии с MS documentation у меня создается впечатление, что невозможно перенести код на что-либо, кроме вызова P/Invoke в библиотеку CAPI. Если вы обнаружите, что делаете это, вам может быть лучше, если вы создадите инструмент миграции, который расшифровывает использование CAPI, а затем шифрует/экспортирует данные с использованием открытого стандарта (звучит как CAPI is/будет устаревшим).

 Смежные вопросы

  • Нет связанных вопросов^_^