Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo cifrar datos en un sitio web?

¿Cómo cifrar datos en un sitio web?

Puedes utilizar archivos md5.

<%

Const privada BITS_TO_A_BYTE = 8

Const privada BYTES_TO_A_WORD = 4

Const privada BITS_TO_A_WORD = 32

Privado m_lOnBits(30)

Privado m_l2Power(30)

Función privada LShift(lValue, iShiftBits)

Si iShiftBits = 0 Entonces

LShift = lValue

Salir de la función

ElseIf iShiftBits = 31 Entonces

Si lValue y 1 entonces

LShift = & ;H80000000

Else

LShift = 0

Finalizar si

Salir de la función

ElseIf iShiftBits < 0 O iShiftBits > 31 Entonces

Err.Raise 6

Fin si

Si (lValue y m_l2Power(31 - iShiftBits)) Entonces

LShift = ((lValue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(31 - iShiftBits)) Entonces

Err.* m_l2Power(iShiftBits)) o & H80000000

De lo contrario

LShift = ((lValue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits))* m_l2Power(iShiftBits))

Finalizar si

Función final

Función privada RShift(lValue, iShiftBits)

Si iShiftBits = 0 Entonces

RShift = lValue

Función de salida

ElseIf iShiftBits = 31 Entonces

Si lValue y &H80000000 Entonces

RShift = 1

Else

RShift = 0

Finalizar si

Salir de la función

ElseIf iShiftBits < 0 o iShiftBits > 31 Entonces

Err.Raise 6

Finalizar si

RShift = (lValue y &H7FFFFFFE) \ m_l2Power(iShiftBits)

Si (lValue y &H80000000) Entonces

RShift = (RShift O (&.H7FFFFFFE) \ m_l2Power(iShiftBits)

Err H40000000 \ m_l;

2Power(iShiftBits - 1)))

Finalizar si

Finalizar función

Función privada RotateLeft(lValue, iShiftBits)

RotateLeft = LShift(lValue, iShiftBits) o RShift(lValue, (32 - iShiftBits))

Función final

Función privada AddUnsigned(lX, lY)

Dim lX4

Dim lY4

Dim lX8

Dim lY8

Dim lResult

lX8 = lX And ​​​​& ; H80000000

lY8 = lY Y &H80000000

lX4 = lX Y &H40000000

lY4 = lY Y &H40000000

lResultado = (lX y &H3FFFFFFF) + (lY y &H3FFFFFFF)

Si lX4 y lY4 entonces

lResultado = lResultado Xor &H80000000 Xor lX8 Xor lY8

ElseIf lX4 o lY4 entonces

Si lResult y &H40000000 Entonces

lResult = lResult Xo &HC0000000 Xor lX8 Xor lY8

De lo contrario

lResult = lResult Xor & Xor lX8 Xor lY8

Finalizar si

Else

lResultado = lResultado Xor lX8 Xor lY8

Finalizar si

AddUnsigned = lResult

Función final

Función privada md5_F(x, y, z)

md5_F = (x e y) o (( No x) y z)

Función final

Función privada md5_G(x, y, z)

md5_G = (x y z) o (y y (No z ))

Función final

Función privada md5_H(x, y, z)

md5_H = (x Xor y Xor z)

Función final

Función privada md5_I(x, y, z)

md5_I = (y Xor (x Or (Not z)))

Función final

Sub privado md5_FF(a, b, c. d, x, s, ac).

d, x, s, ac)

a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_F(b, c, d), x), ac))

a = RotateLeft (a, s)

a = AddUnsigned(a, b)

a = AddUnsigned(a, b)

End Sub

Sub privado md5_GG (a, b, c, d, x, s, ac)

a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_G(b, c, d), x), ac))

a = RotateLeft(a, s)

a = AddUnsigned(a, b)

End Sub

Sub privado md5_HH(a, b , c, d, x, s, ac)

a = AddUnsigned(a, AddUnsigned( AddUnsigned(md5_H(b, c, d), x), ac))

a = RotateLeft(a, s)

a = AddUnsigned(a, b)

End Sub

Sub privado md5_II(a, b, c, d , x, s,

Sub privada md5_II(a, b, c, d, x, s, ac)

Sub privada md5_II(a, b, c, d, x , s ac)

a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_I(b, c, d), x), ac))

a = RotateLeft(a, s )

a = AddUnsigned(a, b)

End Sub

Función privada ConvertToWordArray(sMessage)

Dim lMessageLength

Dim lNumberOfWords

Dim lWordArray()

Dim lBytePosition

DimlByteCount

Dim lWordCount

Const MODULUS_BITS = 512

Const CONGRUENT_BITS = 448

lMessageLength = Len(sMessage)

lNumberOfWords = (((lMessageLength + ((MODULUS_BITS - CONGRUENT_BITS)))

lNumberOfWords = (((lMessageLength + ((MODULUS_BITS - CONGRUENT_BITS))))) Mismos bits) (bits a byte))\ (modulus_bits\bits_to_a_byte))+ 1) * (MODULUS_BITS\BITS_TO_A_WORD)

ReDim lWordArray(lNumberOfWords - 1)

lBytePosition = 0

lByteCount = 0

Hacer un

hasta lByteCount > ) O LShift(Asc(Mid(sMessage, lByteCount + 1, 1)), lBytePosition)

lByteCount = lByteCount + 1

Bucle

lWordCount = lByteCount \ BYTES_TO_A_WORD

lBytePosition= ( lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE

lWordArray(lWordCount) = lWordArray(lWordCount) O LShift(&H80, lBytePosition)

lWordArray(lNumberOfWords - 2) = LShift(lMessageLength, 3)

lWordArray(lNumberOfWords - 1) = RShift(lMessageLength, 29)

ConvertToWordArray = lWordArray

Función final

Función privada WordToHex(lValue)

Dim lByte

Dim lCount

Para lCount = 0 a 3

lByte = RShift(lValue, lCount * BITS_TO_A_BYTE) y m_lOnBits(BITS_TO_A_BYTE - 1)

WordToHex = WordToHex &

Siguiente

Función final

Función pública MD5(sMessage)

m_lOnBits(0) = CLng(1)

m_lOnBits(1) = CLng(3)

m_lOnBits(2) = CLng(7)

m_lOnBits(3) = CLng(15)

m_lOnBits( 4) = CLng(31)

m_lOnBits(5) = CLng(63)

m_lOnBits(6) = CLng(127)

m_lOnBits (7 ) = CLng(255)

m_lOnBits(8) = CLng(511)

md5_II c, d, a, b, x(k + 10), S43, &HFFEFF47D

md5_II b, c, d, a, x(k + 1), S44, & H85845DD1

md5_II a, b, c, d, x(k + 8) , S41 y H6FA87E4F

> md5_II d, a, b, c, x(k + 15), S42, &HFE2CE6E0

md5_II c, d, a, b, x(k + 6), S43, & p>

md5_II b, c, d, a, x(k + 13), S44, &H4E0811A1

md5_II a, b, c, d, x(k + 4), S41, & ;HF7537E82

md5_II d, a, b, c, x(k + 11), S42, &HBD3AF235

md5_II c, d, a, b, x(k + 2) , S43 y H2AD7D2BB

md5_II b, c, d, a, x(k + 9), S44 y HEB86D391

a = AddUnsigned(a, AA)

b = AgregarSin firmar(b, BB)

c = AgregarSin firmar(c, CC)

d = AgregarSin firmar(d, DD)

Siguiente

'si tipo=32 entonces

'MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d)) ' 32λ

'else

MD5 = LCase(WordToHex(b) & WordToHex(c)) '16λ

'finalizar si

Función final

%>