El editor de Script House ha compartido con usted varios códigos de función de cifrado y descifrado ASP BASE64. Sin embargo, hay algunos problemas en el proceso de uso real.
Código central:
<% ' OPTION EXPLICITconst BASE_64_MAP_INIT = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"dim newlinedim Base64EncMap(63)dim Base64DecMap(127)'Función de inicialización PUBLIC SUB initCodecs()' Inicializar variables nueva línea = "<P>" & chr(13) & chr(10)dim max, idxmax = len(BASE_64_MAP_INIT)for idx = 0 to max - 1Base64EncMap(idx) = mid(BASE_64_MAP_INIT, idx + 1, 1) nextfor idx = 0 al máximo - ( len(normal) / 3) * 3ndx = 1hacer mientras ndx <= by3primero = asc(mid(simple, ndx+0, 1))segundo = asc(mid(simple, ndx+1, 1))tercero = asc(mid(simple, ndx+2, 1)) ret = ret & Base64EncMap( (primero / 4) Y 63 )ret = ret & Base64EncMap( ((primero * 16) Y 48) + ((segundo / 16) Y 15 ) )ret = ret & Base64EncMap( ((segundo * 4) Y 60) + ((tercero / 64) Y 3 ) )ret = ret & Base64EncMap( tercero Y 63)ndx = ndx + 3bucle si por3 < len(simple) entoncesprimero = asc(mid(simple, ndx+0, 1))ret = ret & Base64EncMap( (primero / 4) AND 63 )si (len(simple) MOD 3 ) = 2 entoncessegundo = asc(mid(simple, ndx+1, 1))ret = ret & Base64EncMap( ( (primero * 16) Y 48) + ((segundo / 16) Y 15 ) )ret = ret & Base64EncMap( ((segundo * 4) Y 60) )elseret = ret & Base64EncMap( (primero * 16) Y 48)ret = ret '& "="end ifret = ret '& "="end ifbase64Encode = retEND FUNCTION'Función de descifrado Base64 FUNCIÓN PÚBLICA base64Decodificar(codificado)si len(codificado) = 0 thenbase64Decode = ""salir de la funciónend ifdim realLenrealLen = len(codificado)do while mid(codificado, realLen, 1) = "="realLen = realLen - 1loopdim ret, ndx, by4, primero, segundo, tercero, cuartoret = ""by4 = (realLen / 4) * 4ndx = 1do mientras ndx <= by4first = Base64DecMap(asc(mid(codificado, ndx+0, 1)))segundo = Base64DecMap(asc(mid(codificado, ndx+1, 1)))tercero = Base64DecMap(asc(mid(codificado, ndx+2, 1) ))cuarto = Base64DecMap(asc(mid(codificado, ndx+3, 1)))ret = ret & chr( ((primero * 4) Y 255) + ((segundo / 16) Y 3))ret = ret & chr( ((segundo * 16) Y 255) + ((tercero / 4) Y 15))ret = ret & chr( ((tercero * 64) Y 255) + (cuarto Y 63))ndx = ndx + 4loopif ndx < realLen entonces primero = Base64DecMap(asc(mid(codificado, ndx+0, 1)))segundo = Base64DecMap(asc(mid(codificado, ndx+1, 1)))ret = ret & chr( ((primero * 4) Y 255) + ((segundo / 16) Y 3))si realLen MOD 4 = 3 luegotercero = Base64DecMap(asc(mid(codificado,ndx+2,1)))ret = ret & chr( ((segundo * 16) Y 255) + ((tercero / 4) Y 15))end ifend ifbase64Decode = retEND FUNCIÓN%>
Cómo utilizar:
' Inicializa la llamada initCodecsResponse.Write(base64Encode("La cadena que quiero cifrar en Script Home"))Response.Write(base64Decode("bWFyczIwMTAwMjIw0"))