Visual Basic - Dudas en encriptacion por sustitucion

Life is soft - evento anual de software empresarial
 
Vista:

Dudas en encriptacion por sustitucion

Publicado por Francisco Camacho (1 intervención) el 07/12/2008 23:59:56
Tengo este copdigo en VB6 que quiero usar para sustituir las letras por los valores descritos en la cadena codigocifrado pero cada sustitucion es 1 caracter por 2 pero me liga los codigos de sustitucion y no me cifra el primer caracter les agrdezco lo que me puedan indicar


Public Function Cifrado(ByVal Entrada As String, _
Optional CodigoOriginal As String = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789 #$%.-,+*)(_", _
Optional CodigoCifrado As String = "3E3D3C3B3A393837363534333231AE302F2E2D2C2B2A29282726254F4E4D4C4B4A494847465F4F2F1F5152535455565720") As String

Dim i As Long
Dim j As Long
Dim retStr As String
Dim c As String * 1
Entrada = UCase(Entrada)
For i = 1 To Len(Entrada)
c = Mid(Entrada, i, 1)
j = InStr(2, CodigoOriginal, c)
If j > 0 Then
retStr = retStr & Mid(CodigoCifrado, j, 1)
Else
retStr = retStr & c
End If
Next i
Cifrado = retStr
End Function
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Dudas en encriptacion por sustitucion

Publicado por igor (633 intervenciones) el 08/12/2008 14:01:32
Debes cambiar esta línea:

retStr = retStr & Mid(CodigoCifrado, ((j * 2) - 1), 2)

J se multiplica por 2, ya que el código cifrado es de 2 caracters por cada 1 del código original.

Además se resta 1 para que coincida con la posición de los caracteres.

Ni que decir tiene que Mid debe devolver 2 caracteres y no 1.

Problema resuelto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Un MIllon de Gracias - Lio Resuelto

Publicado por FRANCISCO CAMACHO (1 intervención) el 10/12/2008 01:39:36
Gracias hermano el problema esta resuelto un millon de gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar