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