Vraag : VB6 aan VB.NET zet decrypteren functie om

hallo iedereen, heb ik hulp nodig om VB6 code om te zetten. Ik ben nieuw in VB.Net programming.
This ben de vb6 code;

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:
Het publiek verklaart de Lib „advapi32.dll“ alias „CryptAcquireContextA“ van de Functie van CryptAcquireContext (_
phProv zoals lang, ByVal pszContainer zoals lang, ByVal pszProvider als Koord, _
ByVal dwProvType zoals lang, ByVal dwFlags zoals lang) zoals lang

Het publiek verklaart de Lib „advapi32.dll“ van CryptCreateHash van de Functie (ByVal hProv zoals lang, _
ByVal Koud zoals lang, ByVal hKey zoals lang, ByVal dwFlags zo lang, phHash zoals lang) zoals lang

Het publiek verklaart de Lib „advapi32.dll“ van CryptHashData van de Functie (ByVal hHash zoals lang, _
pbData van ByVal als Koord, ByVal dwDataLen zoals lang, ByVal dwFlags zoals lang) zoals lang

Het publiek verklaart de Lib „advapi32.dll“ van CryptDeriveKey van de Functie (_
ByVal hProv zoals lang, ByVal Koud zoals lang, hBaseData ByVal zoals lang, ByVal dwFlags zoals lang, _
phKey zoals lang) zoals lang

Het publiek verklaart de Lib „advapi32.dll“ van CryptDestroyHash van de Functie (ByVal hHash zoals lang) zoals lang

Het publiek verklaart de Lib „advapi32.dll“ van CryptDestroyKey van de Functie (hKey ByVal zoals lang) zoals lang

Het publiek verklaart de Lib „advapi32.dll“ van CryptEncrypt van de Functie (hKey ByVal zoals lang, _
ByVal hHash zoals lang, Def. ByVal zoals lang, ByVal dwFlags zoals lang, pbData ByVal als Koord, _
pdwDataLen zoals lang, ByVal zoals lang) zoals lang dwBufLen

Het publiek verklaart de Lib „advapi32.dll“ van CryptDecrypt van de Functie (hKey ByVal zoals lang, _
ByVal hHash zoals lang, Def. ByVal zoals lang, ByVal dwFlags zoals lang, pbData ByVal als Koord, _
pdwDataLen zoals lang) zoals lang

Het publiek verklaart de Lib „advapi32.dll“ van CryptReleaseContext van de Functie (ByVal hProv zoals lang, _
ByVal dwFlags zoals lang) zoals lang

Het publiek verklaart de Lib „kernel32“ van GetLastError van de Functie () zoals lang

'constanten voor API van de Cryptografie functies
Privé Const CRYPT_NEWKEYSET = &H8
Privé Const MS_DEF_PROV = „Leverancier van de Basis van Microsoft de Cryptografische v1.0“
Privé Const PROV_RSA_FULL = 1
Privé Const ALG_CLASS_DATA_ENCRYPT = 24576
Privé Const ALG_CLASS_HASH = 32768

Privé Const ALG_TYPE_ANY = 0
Privé Const ALG_TYPE_BLOCK = 1536
Privé Const ALG_TYPE_STREAM = 2048

Privé Const ALG_SID_RC2 = 2

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

Privé Const ENCRYPT_ALGORITHM = CALG_RC2
Privé Const ENCRYPT_BLOCK_SIZE = 1

Privé Const CRYPT_EXPORTABLE = 1

'gebruikt specificeren om om het even welke zoute waarde niet te gebruiken terwijl het afleiden van de sleutel
Privé Const CRYPT_NO_SALT als lang = &H10

Privé Functie CryptoDecrypt (sInputBuffer als Koord, sPassword als Koord, ByRef sErrore als Koord) als Koord
Schemerige lHExchgKey zoals lang
Schemerige lHCryptprov zoals lang
Schemerige lHHash zoals lang
Schemerige lHkey zoals lang
Schemerige lResult zoals lang

Schemerige sProvider als Koord

Schemerige sCryptBuffer als Koord
Schemerig lCryptBufLen zoals lang
Verduister lCryptPoint zoals lang

Verduister lPasswordPoint zoals lang
Verduister lPasswordCount zoals lang

   Op Fout GoTo DecryptError
   
   'krijg handvat aan het gebrek CSP.
   sProvider = vbNullChar
   sProvider = MS_DEF_PROV & vbNullChar
   Als niet CBool (CryptAcquireContext (lHCryptprov, 0&, sProvider, PROV_RSA_FULL, 0)) Dan
      'Als er geen standaard zeer belangrijke container dan is één gebruikend het gebied van Vlaggen cre�ër
      Als GetLastError = 0 toen
         Als niet CBool (CryptAcquireContext (lHCryptprov, 0&, sProvider, PROV_RSA_FULL, CRYPT_NEWKEYSET)) Dan
              Gebeëindigde GoTo
         Eind als
      Eind als
   Eind als
   
   'Cre�ër een knoeiboelvoorwerp
   Als niet CBool (CryptCreateHash (lHCryptprov, CALG_SHA1, 0, 0, lHHash)) Dan
         Gebeëindigde GoTo
   Eind als
   
   'Knoeiboel in de wachtwoordtekst
   Als niet CBool (CryptHashData (lHHash, sPassword, Len (sPassword), 0)) Dan
         Gebeëindigde GoTo
   Eind als
   
   'Cre�ër een zittingssleutel van het knoeiboelvoorwerp
   Als niet CBool (CryptDeriveKey (lHCryptprov, ENCRYPT_ALGORITHM, lHHash, ByVal CRYPT_NO_SALT, lHkey)) Dan
         Gebeëindigde GoTo
   Eind als
   
   'Vernietig het knoeiboelvoorwerp.
   CryptDestroyHash (lHHash)
   lHHash = 0
   
   'Tref sCryptBuffer voor CryptDecrypt voorbereidingen
   lCryptBufLen = Len (sInputBuffer)
   sCryptBuffer = bind vast (lCryptBufLen, vbNullChar)
   LSet sCryptBuffer = sInputBuffer
   
   'Decrypteer gegevens
   Als niet CBool (CryptDecrypt (lHkey, 0, 1, 0, sCryptBuffer, lCryptBufLen)) Dan
         Gebeëindigde GoTo
   Eind als
   
   'De outputbuffer van de opstelling met enkel gedecrypteerde gegevens
   CryptoDecrypt = Medio (sCryptBuffer, lCryptBufLen 1,)
   
Geëindigdy:
   
   'Vernietig zittingssleutel
   Als (lHkey) Dan lResult = CryptDestroyKey (lHkey)
   
   'Vernietig zeer belangrijk uitwisselings zeer belangrijk handvat
   Als lHExchgKey toen CryptDestroyKey (lHExchgKey)
   
   'Vernietig knoeiboelvoorwerp
   Als lHHash toen CryptDestroyHash (lHHash)
   
   'De leveranciershandvat van de Context van de versie
   Als lHCryptprov toen lResult = CryptReleaseContext (lHCryptprov, 0)
   
   De Functie van de uitgang
   
DecryptError:
   msgbox (GetLastError)

Eind Function

Antwoord : VB6 aan VB.NET zet decrypteren functie om

„Wat de correcte manier is om de API functies te bepalen?“

Zoals eerder verklaard, verander al „Lang“ in „Geheel“.

Bijvoorbeeld, eerste één van:

    Het publiek verklaart de Lib „advapi32.dll“ alias „CryptAcquireContextA“ van de Functie van CryptAcquireContext (_
        phProv zoals lang, ByVal pszContainer zoals lang, ByVal pszProvider als Koord, _
        ByVal dwProvType zoals lang, ByVal dwFlags zoals lang) zoals lang

Wordt dit:


    Het publiek verklaart de Lib „advapi32.dll“ alias „CryptAcquireContextA“ van de Functie van CryptAcquireContext (_
        phProv als Geheel, ByVal pszContainer als Geheel, ByVal pszProvider als Koord, _
        ByVal dwProvType als Geheel, ByVal dwFlags als Geheel) als Geheel

Ben zeker om de lokale variabelen eveneens te veranderen!

Zo deze lijn:

    Schemerige lHExchgKey zoals lang

Zou worden:

    Schemerige lHExchgKey als Geheel
Andere oplossingen  
 
programming4us programming4us