Foros del Web » Programando para Internet » Javascript »

ayuda con función para encriptar

Estas en el tema de ayuda con función para encriptar en el foro de Javascript en Foros del Web. buenas... quiero pedirles(sólo a los que tengan buena voluntad), que necesito ayuda con esto: tengo una función que encripta/desencripta texto, que saqué desde el foro ...
  #1 (permalink)  
Antiguo 18/11/2005, 11:52
Avatar de sabandija25  
Fecha de Ingreso: abril-2004
Mensajes: 302
Antigüedad: 20 años, 7 meses
Puntos: 0
Exclamación ayuda con función para encriptar

buenas...

quiero pedirles(sólo a los que tengan buena voluntad), que necesito ayuda con esto:

tengo una función que encripta/desencripta texto, que saqué desde el foro de asp... necesito la misma función pero en js... me manejo mas menos en asp pero mi conocimiento en js es casi nulo y he intentado hacer la conversión pero me sale error en casi todas las líneas!

los que piensan que soy muy cómodo, disculpen pero he estado días intentando hacerlo y ya no se que hacer...

a los que quizás me puedan ayudar estaré super agradecido, además se puede dejar en las faqs...

bueno... acá estan las funciones en asp... gracias a los que se dan la molestia de leer el msg... saludos

Código HTML:
Base64Chars =	"ABCDEFGHIJKLMNOPQRSTUVWXYZ" & _
				"abcdefghijklmnopqrstuvwxyz" & _
				"0123456789" & _
				"+/"
				
	Public Function EncodeStr(byVal strIn)
		Dim c1, c2, c3, w1, w2, w3, w4, n, strOut
		For n = 1 To Len(strIn) Step 3
			c1 = Asc(Mid(strIn, n, 1))
			c2 = Asc(Mid(strIn, n + 1, 1) + Chr(0))
			c3 = Asc(Mid(strIn, n + 2, 1) + Chr(0))
			w1 = Int(c1 / 4) : w2 = (c1 And 3) * 16 + Int(c2 / 16)
			If Len(strIn) >= n + 1 Then 
				w3 = (c2 And 15) * 4 + Int(c3 / 64) 
			Else 
				w3 = -1
			End If
			If Len(strIn) >= n + 2 Then 
				w4 = c3 And 63 
			Else 
				w4 = -1
			End If
			strOut = strOut + mimeencode(w1) + mimeencode(w2) + _
					  mimeencode(w3) + mimeencode(w4)
		Next
		EncodeStr = strOut
	End Function

	Private Function mimedecode(byVal strIn)
		If Len(strIn) = 0 Then 
			mimedecode = -1 : Exit Function
		Else
			mimedecode = InStr(Base64Chars, strIn) - 1
		End If
	End Function

	Public Function DecodeStr(byVal strIn)
		Dim w1, w2, w3, w4, n, strOut
		For n = 1 To Len(strIn) Step 4
			w1 = mimedecode(Mid(strIn, n, 1))
			w2 = mimedecode(Mid(strIn, n + 1, 1))
			w3 = mimedecode(Mid(strIn, n + 2, 1))
			w4 = mimedecode(Mid(strIn, n + 3, 1))
			If w2 >= 0 Then _
				strOut = strOut + _
					Chr(((w1 * 4 + Int(w2 / 16)) And 255))
			If w3 >= 0 Then _
				strOut = strOut + _
					Chr(((w2 * 16 + Int(w3 / 4)) And 255))
			If w4 >= 0 Then _
				strOut = strOut + _
					Chr(((w3 * 64 + w4) And 255))
		Next
		DecodeStr = strOut
	End Function


	Private Function mimeencode(byVal intIn)
		If intIn >= 0 Then 
			mimeencode = Mid(Base64Chars, intIn + 1, 1) 
		Else 
			mimeencode = ""
		End If
	End Function
  #2 (permalink)  
Antiguo 21/11/2005, 11:56
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Hola sabandija25 :

La verdad es que no sé de ASP. Pero hace tiempo que quiero saber cómo es la secuencia de base 64 ( askii (HTML) y binario (imagen) en una misma página ); y en el comienzo del código la muestra : mayúsculas, minúsculas, números, mas y barra. Gracias.

No creo que te ayude, pero lo voy a intentar. Es lo menos que puedo hacer.

Me parece que el código no encripta, solo cambia de base los caracteres. Es decir, que es como los "encriptadores" que compilan; no se podrá leer todo a simple vista, pero cualquiera lo decodifica. Aunque una vez pasado a ... ¿ tetrasexagesimal ? se puede encriptar más fácil y no sé si las últimas líneas del código no lo hacen.

En javascript solamente se puede llevar a base 36

permutaciones

después el método sería usar una cadena de referencia y reemplazar.

No estoy seguro de para qué lo usas, si lo que quieres es encriptar texto sin usar programas complicados, ya hay algo hecho en javascript.

Yo uso en los e-mail un Vigenère, no tanto por lo seguro, sino porque es el que veía de chico en las películas de espías y me trae algún buen recuerdo.

En este documento lo vas a encontrar (VIRGENERE ENCRYPTION) junto con otro que manda la "clave" para desencriptar en el mismo texto (ASCII ENCRYPTION), lo que te ahorra el envío de la palabra clave por otro camino.

http://www.levteck.com/Ref_tips/Ref_JavaScript.txt

suerte

furoya
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:36.