[AYUDA]Encoder para cliente, servidor.

Iniciado por nAH ?, 6 Marzo 2010, 00:33 AM

0 Miembros y 2 Visitantes están viendo este tema.

nAH ?

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




BlackZeroX

#1
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!¡.
The Dark Shadow is my passion.

nAH ?

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

BlackZeroX


lee un manual de funciones y procesos en vb6

Dulce Infierno Lunar!¡.
The Dark Shadow is my passion.

Snopk

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.

BlackZeroX

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!¡.
The Dark Shadow is my passion.

nAH ?

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 .

cobein

#7
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
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

Anco

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
???

expandeR

#9
Agregame al msn: -nota del mod: no se postea el mail- . Yo te puedo ayudar con la programacion relacionada al  AO