Red de conocimiento informático - Problemas con los teléfonos móviles - VB pregunta por el módulo que obtiene el valor MD5 del archivo y cómo llamarlo.

VB pregunta por el módulo que obtiene el valor MD5 del archivo y cómo llamarlo.

El siguiente es el código MD5, pégalo en el módulo

Option Explicit

Private Const OFFSET_4 = 4294967296#

Private Const MAXINT_4 = 2147483647

Const privada S11 = 7

Const privada S12 = 12

Const privada S13 = 13 Siguiente j

MD5Transform ByteBuffer

Siguiente i

lngBufferedBytes = 0

Else

i = 0

Finalizar si

' Almacenar en búfer el resto Entrada

Para k = 0 Para EntradaLen - i - 1

ByteBuffer(j) = InputBuffer(i j)

Las transferencias son múltiplos de 63. 1

ByteBuffer(lngBufferedBytes k) = InputBuffer(i k)

Siguiente k

End Sub

'

' Transformación MD5

'

Transformación sub MD5 privada (búfer() como byte)

Dimx(16) siempre y cuando

Dim a Mientras

Atenuado b Mientras

Atenuado c Mientras

Atenuado d Mientras

a = Estado(1)

b = Estado(2)

c = Estado(3)

d = Estado(4)

Decodificar 64, x, Buffer

' Primera ronda

FF a, b, c, d, x(0), S11, -680876936

FF d, a, b , c, x(1), S12, -389564586

FF c, d, a, b, x(2), S13, 606105819

FF b, c, d, a , x(3), S14, -1044525330

FF a, b, c, d, x(4), S11, -176418897

FF d, a, b, c , x(5), S12, 1200080426

FF c, d, a, b, x(6), S13, -1473231341

FF b, c , d, a, x(7), S14, -45705983

FF a, b, c, d, x(8), S11, 1770035416

FF d, a, b , c, x(9), S12, -1958414417

FF c, d, a, b, x(10).

S13, -42063

FF b, c, d, a, x(11), S14, -1990404162

FF a, b, c, d, x(12), S11, 1804603682

FF d, a, b, c, x(13), S12, -40341101

FF c, d, a, b, x(14), S13 , -1502002290

FF b, c, d, a, x(15), S14, 1236535329

' Ronda 2

GG a, b, c , d, x(1), S21, -165796510

GG d, a, b, c, x(6), S22, -1069501632

GG c, d, a , b, x(11), S23, 643717713

GG b, c, d, a, x(0), S24, -373897302

GG a, b, c , d, x(5), S21, - 701558691

GG d, a, b, c, x(10), S22, 38016083

GG c, d, a, b , x(15), S23, -660478335

GG b, c, d, a, x(4), S24, -405537848

GG a, b, c, d , x (9)

GG a, b, c, d, x (9), S24, -373897302

c, d, x (9), S21, 568446438

GG d, a, b, c, x (14), S22, -1019803690

GG c, d, a, b, x (3), S23, -187363961

GG b, c, d, a, x (8), S24.

1163531501

GG a, b, c, d, x (13), S21, -1444681467

GG d, a, b, c, x (2), S22, - 51403784

GG c, d, a, b, x (7), S23, 1735328473

GG b, c, d, a, x (12), S24, -1926607734

' Ronda 3

HH a. b, c, d, x(5), S31, -378558

HH d, a, b, c, x(8), S32, -2022574463

HH c, d, a, b, x(11), S33, 1839030562

HH b, c, d, a, x(14), S34, -35309556

HH a, b , c, d, x(1), S31, -1530992060

HH d, a, b, c, x(4), S32, 1272893353

HH c, d, a, b, x(7), S33, -155497632

HH b, c, d, a, x(10), S34, -1094730640

HH a, b, c, d, x(13), S31, 681279174

HH d, a, b, c, x(0), S32, -358537222

HH c, d, a , b, x(3), S33, -722521979

HH b, c, d, a, x(6), S34, 76029189

HH a, b, c, d, x(9), S31, -640364487

HH d, a, b, c, x(12), S32, -421815835

HH c, d, a, b, x(15), S33, 530742520

HH b, c, d, a, x(2), S34, -995338651

' Ronda 4

II a, b, c, d, x(0), S41, -198630844

II d, a, b, c, x(7), S42, 1126891415

II c, d, a, b, x(14), S43, -1416354905

II b, c, d, a, x(5), S44, -57434055

II a, b, c, d, a, x(5), S44, -57434055

II a, b, c, d, a, x(5), S44, -57434055Función privada UnsignedToLong (valor como doble) siempre

Si valor lt; O valor gt; = OFFSET_4 Entonces Error 6 ' Desbordamiento

Si valor lt = MAXINT_4 Entonces

UnsignedToLong = valor

Else

UnsignedToLong = valor - OFFSET_4

Finalizar si

Función final

'

' Convertir largo a doble sin firmar

'

Función privada LongToUnsigned(valor As Long) Como Doble

Si el valor lt;0 entonces

LongToUnsigned = valor OFFSET_4

De lo contrario

LongToUnsigned = valor

End If

Finalizar función

Aquí se explica cómo llamar

IF pss lt;gt; GetMD5(Txtpassword) THEN

. . . .