Autor
|
Tema: Encryptdecrypt encryptador y desencryptador de cadenas (Leído 3,263 veces)
|
fary
|
Bueno, despues de ver el algoritmo de Blackzerox para encryptar y desencryptar cadenas decidi acer yo un ocde tambien, aqui se lo dejo, es 100% funcional. Espero que les gute: '******************************************* '** Funcion: Algoritmo simple ** '** fecha: 14-2-2010 ** '** Autor: Drinky94 ** '** Email: Drinky.94:-com ** '******************************************* Option Explicit Dim datos As String Enum estado encryptar = 1 desencryptar = 2 End Enum Public Function Encryptdecrypt(ByRef cadena As String, ByRef modo As estado) Dim longitudcadena As String, formarcadena As String, caracter As String, i As Integer Dim drinky As String, adaptar As String longitudcadena = Len(cadena) If modo = 1 Then For i = 1 To longitudcadena caracter = Mid(cadena, i, longitudcadena) formarcadena = Asc(caracter) + longitudcadena drinky = Chr(formarcadena) datos = datos + drinky Next i MsgBox "Su texto encryptado es: " & datos Else For i = 1 To longitudcadena caracter = Mid(datos, i, longitudcadena) formarcadena = Asc(caracter) - longitudcadena drinky = Chr(formarcadena) datos = datos + drinky Next i adaptar = Mid(datos, longitudcadena + 1, longitudcadena) MsgBox "Su texto desencryptado es: " & adaptar End If End Function y aqui les dejo un ejemplo de su uso: Private Sub Command1_Click() Call Encryptdecrypt(Text1, encryptar) End Sub Como ven es muy sencillo de usar. Espero que les haya gustado. salu2!
|
|
|
En línea
|
Un byte a la izquierda.
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
. mmmm Bueno, despues de ver el algoritmo de Blackzerox para encryptar y desencryptar cadenas decidi acer yo un ocde tambien, aqui se lo dejo, es 100% funcional. Espero que les gute: '******************************************* '** Funcion: Algoritmo simple ** '** fecha: 14-2-2010 ** '** Autor: Drinky94 ** '** Email: Drinky.94:-com ** '******************************************* Option Explicit Dim datos As String Enum estado encryptar = 1 desencryptar = 2 End Enum Public Function Encryptdecrypt(ByRef cadena As String, ByRef modo As estado) Dim longitudcadena As String, formarcadena As String, caracter As String, i As Integer Dim drinky As String, adaptar As String longitudcadena = Len(cadena) If modo = 1 Then For i = 1 To longitudcadena caracter = Mid(cadena, i, longitudcadena) formarcadena = Asc(caracter) + longitudcadena drinky = Chr(formarcadena) datos = datos + drinky Next i MsgBox "Su texto encryptado es: " & datos Else For i = 1 To longitudcadena caracter = Mid(datos, i, longitudcadena) formarcadena = Asc(caracter) - longitudcadena drinky = Chr(formarcadena) datos = datos + drinky Next i adaptar = Mid(datos, longitudcadena + 1, longitudcadena) MsgBox "Su texto desencryptado es: " & adaptar End If End Function y aqui les dejo un ejemplo de su uso: Private Sub Command1_Click() Call Encryptdecrypt(Text1, encryptar) End Sub Como ven es muy sencillo de usar. Espero que les haya gustado. salu2! mmm tu vas de mal en peor ¬¬", bueno ya casi vas mejor... pruebas, pruebas... esto tiene un error logico. byref solo deberías usarlo en variables no en instancias de controles o sus propiedades ¬¬" espero que ese text1 Lo ayas tratado como una variable... por que en código no sirve... lo probé antes de decir esto Nota: quita ese Byref del argumento... como es un enum no vale poner byref... cambia de public funcition a public sub o regresa los datos por la misma función. porque? es sencillo y muy LOGICO si regresa algo el proceso se declara como función de lo contrario como Proceso es decir Function , Sub respectivamente. Quita ese MSGBOX del proceso un proceso es para eso procesar, ya el que implemente este, ya sabrá que hacer... Ahora el primer Byref de los argumentos para que?, en mi caso lo puse byref porque sacaba los datos por la misma entra... argumentos. Esto hace un Crash... imaginemos que quiero cifrar otras cosas que no sean un texto xP Dim hola As String hola = "miguel angelmiguel angelmiguel angelmiguel angelmiguel angelmiguel angelmiguel angel" & space(255) Call Encryptdecrypt(hola, encryptar) MsgBox hola Call Encryptdecrypt(hola, encryptar) MsgBox hola
y esto no sirve Dim hola As String hola = "miguel angelmiguel angelmiguel angelmiguel angelmiguel angelmiguel angelmiguel angel" & Space(255) Call Encryptdecrypt(hola, encryptar) MsgBox hola Call Encryptdecrypt(hola, desencryptar) MsgBox hola
P.D.: Le falta trabajo a esta cosa ¬¬", y Muchas Pruebas. Sangrientas Lunas!¡. .
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
seba123neo
|
aparte el codigo esta duplicado...
|
|
|
En línea
|
|
|
|
Hasseds
Desconectado
Mensajes: 145
|
Ufa !!! ... otra vez sopa ?
|
|
|
En línea
|
Sergio Desanti
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
aparte el codigo esta duplicado...
Esta aprendiendo esta bien quien no duplica código cuando aprende, inclusive cuando son códigos muy argos alguna vez o duplicamos sin darnos cuenta... aquel que me niegue esto es por que es algo así como tipo Dios a la potencia 100 -1. Ufa !!! ... otra vez sopa ?
igua. P.D.: Disculpen mi antiguo post estaba por irme y solo escribí sin formatear mucho xP Sangrientas Lunas!¡. .
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
RAID-MAM
Desconectado
Mensajes: 58
|
Por cierto aunque la palabra cifrado y descifrado no existen menos va a existir encr yptado y desencr yptado
|
|
|
En línea
|
|
|
|
fary
|
Pues a mi no me parece que este tan mal xD, y a mi me funca dpm.... :/ nunca llueve a gusto de todos, que le vamos a hacer.... salu2! PD: Este mensage va para la mayoria de los que critican, no digo que todos. Porque no subis un codigo vuestro? si tanto criticais sera porque vosotros lo haceis TODO perfecto... esperare esos codes con mucha ilusion
|
|
« Última modificación: 15 Febrero 2010, 10:15 am por Drinky94 »
|
En línea
|
Un byte a la izquierda.
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
Pues a mi no me parece que este tan mal xD, y a mi me funca dpm.... :/ nunca llueve a gusto de todos, que le vamos a hacer.... salu2! PD: Este mensage va para la mayoria de los que critican, no digo que todos. Porque no subis un codigo vuestro? si tanto criticais sera porque vosotros lo haceis TODO perfecto... esperare esos codes con mucha ilusion char resive como parámetro un valor entre 0 y 255 y si la suma de la longitud de tu texto + el valor asc(9 del carácter X supero a 255 chr() no sabrá que pedo y pufff chamuscado el algoritmo. por cierto aqui hay algo que te puedas leer: ByVal exíge que se haga una copia de la variable de origen y se trabaje localmente con esta copia por lo que no se puede modificar la variable de origen, y por otro lado se consume RAM al crear la copia. Byref es, precisamente, un puntero "camuflado". El VB pasa internamente el puntero de la variable, no una copia, por más que el lenguaje sea de nivel tan alto que no nos permita apreciarlo. Entonces, localmente estamos leyendo/escribiendo sobre la variable de origen, por lo que no hay consumo adicional de RAM, aunque se deben tener precauciones y recordar que se está trabajando y afectando a la variable de origen en todo momento.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
Hasseds
Desconectado
Mensajes: 145
|
OFF @ Dynky, si queres saber si la calculadora esta abierta... no se debe usar: ret = FindWindow(vbNullString, "Calculadora") ' MAL Porque Si tu aplicacion corre en un windows que no es en español "eso" no te sirve, debes usar: ret = FindWindow("SciCalc", vbNullString) ' WXP ret = FindWindow("CalcFrame", vbNullString) ' W7 PD1: Tampoco uses Spy++ para saber la clase de un control, mejor aprende a usar GetClassName PD2: espero que no te enojes por el OFF , S2
|
|
|
En línea
|
Sergio Desanti
|
|
|
fary
|
Para nada, muchas gracias, son cosas coherentes, no como MUCHOS por ahi que se quejan y luego son unos ***** mierdas asi de claro.
salu2!
|
|
|
En línea
|
Un byte a la izquierda.
|
|
|
|
|