Hola, buenas noches, bueno, me llamo Axel, y queria unirme a su comunidad, y como molesto que soy :$, hace poco estoy metido en la programacion, y hay veces que quiero hacer cosas que todavia me cuestan razonar jaja.
El problema es que estoy usando un Decoder y Encoder y tengo un problema, en el cliente lo cifro y en el server lo descifro, les muestro mas o menos como es :
La linea del cliente la tengo asi :
Sub Login(ByVal valcode As Integer)
If EstadoLogin = Normal Then
Call EncryptString(("OLOGIO" & UserName & "," & UserPassword & "," & App.Major & "." & App.Minor & "." & App.Revision & "," & valcode), "asd123", ENCRYPT)
Yo ahi llame a la funcion EncryptString y que me encripte toda esta linea :
(("OLOGIO" & UserName & "," & UserPassword & "," & App.Major & "." & App.Minor & "." & App.Revision & "," & valcode)
Y creo que hasta hay me funciona, porque me lo cifra bien .
Ahora el problema en el server, el Sub en el server es asi :
El case es asi :
Case "OLOGIO"
rdata = Right$(rdata, Len(rdata) - 6)
Call EncryptString(("OLOGIO"), "asd123", DECRYPT)
cliMD5 = ReadField(5, rdata, 44)
tName = ReadField(1, rdata, 44)
tName = RTrim(tName)
If Not AsciiValidos(tName) Then
Call SendData(ToIndex, UserIndex, 0, "ERRNombre invalido.")
Exit Sub
End If
If (UserList(UserIndex).flags.ValCoDe = 0) Or (ValidarLoginMSG(UserList(UserIndex).flags.ValCoDe) <> CInt(val(ReadField(4, rdata, 44)))) Then
Call CloseSocket(UserIndex)
Exit Sub
End If
tStr = ReadField(6, rdata, 44)
tStr = ReadField(7, rdata, 44)
Call ConnectUser(UserIndex, tName, ReadField(2, rdata, 44))
Exit Sub
Y yo le agrege esta linea para que desencripte , pero esta mal,
Call EncryptString(("OLOGIO"), "asd123", DECRYPT)
Ese es mi problema, es la parte que no entiendo , si me podrian ayudar, estoy interesado en aprender .
Desde ya muchas gracias, les dejo el modulo del encriptador .
DefInt A-Z
Option Explicit
'//For Action parameter in EncryptString
Public Const ENCRYPT = 1, DECRYPT = 2
'---------------------------------------------------------------------
' EncryptString
' Modificado por Harvey T.
'---------------------------------------------------------------------
Public Function EncryptString( _
UserKey As String, Text As String, Action As Single _
) As String
Dim UserKeyX As String
Dim Temp As Integer
Dim Times As Integer
Dim i As Integer
Dim j As Integer
Dim n As Integer
Dim rtn As String
'//Get UserKey characters
n = Len(UserKey)
ReDim UserKeyASCIIS(1 To n)
For i = 1 To n
UserKeyASCIIS(i) = Asc(Mid$(UserKey, i, 1))
Next
'//Get Text characters
ReDim TextASCIIS(Len(Text)) As Integer
For i = 1 To Len(Text)
TextASCIIS(i) = Asc(Mid$(Text, i, 1))
Next
'//Encryption/Decryption
If Action = ENCRYPT Then
For i = 1 To Len(Text)
j = IIf(j + 1 >= n, 1, j + 1)
Temp = TextASCIIS(i) + UserKeyASCIIS(j)
If Temp > 255 Then
Temp = Temp - 255
End If
rtn = rtn + Chr$(Temp)
Next
ElseIf Action = DECRYPT Then
For i = 1 To Len(Text)
j = IIf(j + 1 >= n, 1, j + 1)
Temp = TextASCIIS(i) - UserKeyASCIIS(j)
If Temp < 0 Then
Temp = Temp + 255
End If
rtn = rtn + Chr$(Temp)
Next
End If
'//Return
EncryptString = rtn
End Function
Cita de: nAH ? en 6 Marzo 2010, 00:33 AM
Call EncryptString(("OLOGIO"), "asd123", DECRYPT)
deberia ser así:
VariableDeSalida = EncryptString("OLOGIO", "asd123", DECRYPT)
Aquí te dejo un EncodeAndDecoder cuya codificación es Directa a la variable a Codificar. Viene un ejemplo de su uso.
http://infrangelux.sytes.net/index.php?option=com_content&task=view&id=77&Itemid=77
Dulce Infierno Lunar!¡.
Claro, y ¿cual seria la varible de salida?
Porque imaginate que yo estoy hablando de un Case "OLOGIO", osea, tienen qe descifrar lo que esta codificado en el cliente
El tuyo como sería para implementarlo ?
Obvio sin textbox
lee un manual de funciones y procesos en vb6
Dulce Infierno Lunar!¡.
A lo que se refiere con "variable de salida" es solo una simple variable en la que se asignara lo que retorne de la función. En este caso una cadena, por lo tanto la variable de salida deve ser declarada con el mismo tipo de dato.
Dim Descifrado as String
Descifrado = EncryptString("OLOGIO", "asd123", DECRYPT)
Luego tu ya ves lo que haces con la variable.
Cita de: Snopk en 6 Marzo 2010, 05:06 AM
A lo que se refiere con "variable de salida" es solo una simple variable en la que se asignara lo que retorne de la función. En este caso una cadena, por lo tanto la variable de salida deve ser declarada con el mismo tipo de dato.
Dim Descifrado as String
Descifrado = EncryptString("OLOGIO", "asd123", DECRYPT)
Luego tu ya ves lo que haces con la variable.
gracias por explicar lo que a mi me dio pereza xP
Dulce Infierno Lunar!¡.
Claro, yo ya se hacer eso, es más ya lo probe de esa manera, pero no me funciona, osea, no me conecta con el server, como que me queda Cargando ..
Pero yo se que desde el cliente esta cifrando, pero el problema es el server que no encirpta .
Porque no lo debugueas? me pare ce que es mas facil que esperar a que alguien mas lo haga por vos.
Agria Menstruacion Infernal!
Cita de: nAH ? en 6 Marzo 2010, 14:09 PM
Claro, yo ya se hacer eso, es más ya lo probe de esa manera, pero no me funciona, osea, no me conecta con el server, como que me queda Cargando ..
Pero yo se que desde el cliente esta cifrando, pero el problema es el server que no encirpta .
Edit... no se pero hago un quote y un edit asi soy como los demas! =D
Cita de: BlackZeroX▓▓▒▒░░ en 6 Marzo 2010, 00:40 AM
Dulce Infierno Lunar!¡.
Cita de: cobein en 6 Marzo 2010, 14:36 PM
Porque no lo debugueas? me pare ce que es mas facil que esperar a que alguien mas lo haga por vos.
Agria Menstruacion Infernal!
Tengo curiosidad ahora por saber cual sera el proximo saludo jajaja mmm.. ;D
Agregame al msn: -nota del mod: no se postea el mail- . Yo te puedo ayudar con la programacion relacionada al AO