Pytanie : VB6 VB.NET Konwertyta decrypt funkcja

cześć kod, i potrzebować pomoc VB6 kod. I być nowy w VB.Net programming.
This być the vb6 kod;

thanks

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
Społeczeństwo Oznajmiać Funkcja CryptAcquireContext Wyzwolenie "advapi32.dll" Pseudonim "CryptAcquireContextA" (_
phProv Długo, ByVal pszContainer Długo, ByVal pszProvider Jako Sznurek, _
ByVal dwProvType Długo, ByVal dwFlags Długo) Długo

Społeczeństwo Oznajmiać Funkcja CryptCreateHash Wyzwolenie "advapi32.dll" (ByVal hProv Długo, _
ByVal PhHash Długo, ByVal hKey Długo, ByVal dwFlags Długo, phHash Długo) Długo

Społeczeństwo Oznajmiać Funkcja CryptHashData Wyzwolenie "advapi32.dll" (ByVal hHash Długo, _
ByVal pbData Sznurek, ByVal dwDataLen Tęsknić, ByVal dwFlags Długo) Długo

Społeczeństwo Oznajmiać Funkcja CryptDeriveKey Wyzwolenie "advapi32.dll" (_
ByVal hProv Długo, ByVal Długo Długo, ByVal hBaseData Długo, ByVal dwFlags Długo, _
phKey Długo) Długo

Społeczeństwo Oznajmiać Funkcja CryptDestroyHash Wyzwolenie "advapi32.dll" (ByVal hHash Długo) Długo

Społeczeństwo Oznajmiać Funkcja CryptDestroyKey Wyzwolenie "advapi32.dll" (ByVal hKey Długo) Długo

Społeczeństwo Oznajmiać Funkcja CryptEncrypt Wyzwolenie "advapi32.dll" (ByVal hKey Długo, _
ByVal hHash Długo, ByVal Finał Długo, ByVal dwFlags Długo, ByVal pbData Jako Sznurek, _
pdwDataLen Tęsknić, ByVal dwBufLen Tęsknić) Długo

Społeczeństwo Oznajmiać Funkcja CryptDecrypt Wyzwolenie "advapi32.dll" (ByVal hKey Długo, _
ByVal hHash Długo, ByVal Finał Długo, ByVal dwFlags Długo, ByVal pbData Jako Sznurek, _
pdwDataLen Tęsknić) Długo

Społeczeństwo Oznajmiać Funkcja CryptReleaseContext Wyzwolenie "advapi32.dll" (ByVal hProv Długo, _
ByVal dwFlags Długo) Długo

Społeczeństwo Oznajmiać Funkcja GetLastError Wyzwolenie "kernel32" () Długo

'konstanta dla Kryptografia API funkcja
Intymny Const CRYPT_NEWKEYSET = &H8
Intymny Const MS_DEF_PROV = "Microsoft Podstawowy Kryptopgraficzny Dostawca v1.0"
Intymny Const PROV_RSA_FULL = (1)
Intymny Const ALG_CLASS_DATA_ENCRYPT = 24576
Intymny Const ALG_CLASS_HASH = 32768

Intymny Const ALG_TYPE_ANY = (0)
Intymny Const ALG_TYPE_BLOCK = 1536
Intymny Const ALG_TYPE_STREAM = 2048

Intymny Const ALG_SID_RC2 = 2

Intymny Const ALG_SID_RC4 = (1)
Intymny Const ALG_SID_SHA1 = 4
Intymny Const ALG_SID_MD5 = 3
Intymny Const CALG_SHA1 = ((ALG_CLASS_HASH Lub ALG_TYPE_ANY) Lub ALG_SID_SHA1)
Intymny Const CALG_MD5 = ((ALG_CLASS_HASH Lub ALG_TYPE_ANY) Lub ALG_SID_MD5)
Intymny Const CALG_RC2 = ((ALG_CLASS_DATA_ENCRYPT Lub ALG_TYPE_BLOCK) Lub ALG_SID_RC2)
Intymny Const CALG_RC4 = ((ALG_CLASS_DATA_ENCRYPT Lub ALG_TYPE_STREAM) Lub ALG_SID_RC4)

Intymny Const ENCRYPT_ALGORITHM = CALG_RC2
Intymny Const ENCRYPT_BLOCK_SIZE = (1)

Intymny Const CRYPT_EXPORTABLE = (1)

'używać jakaś solankowy wartość podczas gdy czerpać the klucz
Intymny Const CRYPT_NO_SALT Długo = &H10

Intymny Funkcja CryptoDecrypt (sInputBuffer Sznurek, sPassword Jako Sznurek, ByRef sErrore Sznurek) Sznurek
Ciemnawy lHExchgKey Długo
Ciemnawy lHCryptprov Długo
Ciemnawy lHHash Długo
Ciemnawy lHkey Długo
Ciemnawy lResult Długo

Ciemnawy sProvider Sznurek

Ciemnawy sCryptBuffer Sznurek
Ciemnawy lCryptBufLen Tęsknić
Ćmić lCryptPoint Długo

Ćmić lPasswordPoint Długo
Ćmić lPasswordCount Długo

   Na Błąd Rozpoczynający DecryptError
   
   'dostawać rękojeść the brak CSP.
   sProvider = vbNullChar
   sProvider = MS_DEF_PROV & vbNullChar
   Jeśli nie CBool (CryptAcquireContext (lHCryptprov, 0&, sProvider, PROV_RSA_FULL, (0))) Wtedy
      'Jeżeli tam  być żadny brak klucz zbiornik then tworzyć jeden using Flaga pole
      Jeżeli GetLastError = (0) Wtedy
         Jeśli nie CBool (CryptAcquireContext (lHCryptprov, 0&, sProvider, PROV_RSA_FULL, CRYPT_NEWKEYSET)) Wtedy
              Rozpoczynający Skończony
         Kończyć Jeżeli
      Kończyć Jeżeli
   Kończyć Jeżeli
   
   'Tworzyć hash przedmiot
   Jeśli nie CBool (CryptCreateHash (lHCryptprov, CALG_SHA1, (0), (0), lHHash)) Wtedy
         Rozpoczynający Skończony
   Kończyć Jeżeli
   
   'Hash w the hasło tekst
   Jeśli nie CBool (CryptHashData (lHHash, sPassword, Len (sPassword), (0))) Wtedy
         Rozpoczynający Skończony
   Kończyć Jeżeli
   
   'Tworzyć sesyjny klucz od the hash przedmiot
   Jeśli nie CBool (CryptDeriveKey (lHCryptprov, ENCRYPT_ALGORITHM, lHHash, ByVal CRYPT_NO_SALT, lHkey)) Wtedy
         Rozpoczynający Skończony
   Kończyć Jeżeli
   
   'Niszczyć the hash przedmiot.
   CryptDestroyHash (lHHash)
   lHHash = (0)
   
   'Przygotowywać sCryptBuffer dla CryptDecrypt
   lCryptBufLen = Len (sInputBuffer)
   sCryptBuffer = Sznurek (lCryptBufLen, vbNullChar)
   LSet sCryptBuffer = sInputBuffer
   
   'Decrypt dane
   Jeśli nie CBool (CryptDecrypt (lHkey, (0), (1), (0), sCryptBuffer, lCryptBufLen)) Wtedy
         Rozpoczynający Skończony
   Kończyć Jeżeli
   
   'Tworzyć wydajność odbojnica z właśnie właśnie dane
   CryptoDecrypt = W połowie (sCryptBuffer, (1), lCryptBufLen)
   
Skończony:
   
   'Niszczyć sesyjny klucz
   Jeżeli (lHkey) Wtedy lResult = CryptDestroyKey (lHkey)
   
   'Niszczyć klucz wymiana klucz rękojeść
   Jeżeli lHExchgKey Wtedy CryptDestroyKey (lHExchgKey)
   
   'Niszczyć hash przedmiot
   Jeżeli lHHash Wtedy CryptDestroyHash (lHHash)
   
   'Uwalniać Kontekst dostawca rękojeść
   Jeżeli lHCryptprov Wtedy lResult = CryptReleaseContext (lHCryptprov, (0))
   
   Wychodzić Funkcja
   
DecryptError:
   msgbox (GetLastError)

Końcówka Function

Odpowiedź : VB6 VB.NET Konwertyta decrypt funkcja

"Funkcja być the poprawny sposób the API funkcja?"

Twierdzić poprzednio, zmieniać twierdzić "Tęsknić" "Integer".

Na przykład, the pierwszy jeden:

    Społeczeństwo Oznajmiać Funkcja CryptAcquireContext Wyzwolenie "advapi32.dll" Pseudonim "CryptAcquireContextA" (_
        phProv Długo, ByVal pszContainer Długo, ByVal pszProvider Jako Sznurek, _
        ByVal dwProvType Długo, ByVal dwFlags Długo) Długo

Zostać to:


    Społeczeństwo Oznajmiać Funkcja CryptAcquireContext Wyzwolenie "advapi32.dll" Pseudonim "CryptAcquireContextA" (_
        phProv Jako Integer, ByVal pszContainer Jako Integer, ByVal pszProvider Jako Sznurek, _
        ByVal dwProvType Jako Integer, ByVal dwFlags Jako Integer) Jako Integer

Być pewny the lokalny zmienna także!

W Ten Sposób ten linia:

    Ciemnawy lHExchgKey Długo

Zostać:

    Ciemnawy lHExchgKey Jako Integer
Inne rozwiązania  
 
programming4us programming4us