2011-01-05 6 views
0

Dies ist der Code von meiner VB6 appWie CAPICOM konvertieren

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) 

aber ich muss mit CAPICOM äquivalent .NET die gleiche Funktionalität zu VB.NET konvertieren. Gibt es ein Äquivalent, um die gleichen Werte zu erhalten?

Antwort

1

Betrachten Sie zunächst den Namespace System.Security.Cryptography. Dort finden Sie relevante Klassen, einschließlich der Klasse TripleDES.

+0

Warum wird dies als vollständige/akzeptierte Antwort betrachtet? Es ist EINFACH, die Klassen zu finden, aber wie stellt man sicher, dass die 3DES IV und der Schlüssel in dem entsprechenden Code von .NET initialisiert werden, um einen zuvor in VB6 verschlüsselten Wert zu entschlüsseln? –

+0

@KrisOye: Die Frage war vage, also ist die Antwort breit. –

0

Ich ging diese Straße auch. Ich habe verschiedene Versuche unternommen, Daten aus VB6/CAPICOM zu entschlüsseln, indem ich die oben erwähnten Crypto-Namespaces von James benutzte (ohne Glück).

Nach der MS documentation, habe ich den Eindruck, es ist nicht möglich, Ihren Code auf etwas anderes als ein P/Invoke-Aufruf an die CAPI-Bibliothek zu migrieren. Wenn Sie sich dabei befinden, können Sie besser ein Migrationstool erstellen, das CAPI entschlüsselt und dann die Daten mit einem offenen Standard verschlüsselt/exportiert (Sounds wie CAPI ist/wird veraltet sein).