cifrar y Descencriptar cadenas (source)

Iniciado por vivachapas, 1 Noviembre 2008, 19:35 PM

0 Miembros y 1 Visitante están viendo este tema.

vivachapas

bueno honestamente yo usaba uno q saque de internet q una sola funcion realizaba las dos tareas (descencriptar y cifrar) pero nunca lo habia entendido...
ahora no se xq se me ocurrio mirarlo, con mas conociminetos y me di cuenta q es xq usa el comando Xor (estuve investigando q es... no es nada jodido..) y pense xq no hacer uno yo xD...
y bueno lo hice :P, la verdad no se si habra uno parecido (no creo q igual ¬¬) en internet xq ni me fije xD pero a este lo hice yo :P
lo bueno q le veo a este code es q si cifrar x ejemplo AAAA el resutaldo no van a ser 4 caracteres iguales sino q todos distintos :P

Código (vb) [Seleccionar]
Private Function cifrar(Cadena As String)
Dim Tam As Long
Dim i As Long
Tam = Len(Cadena)
cifrar = ""
For i = 1 To Tam
    cifrar = cifrar & Chr(Asc(Mid(Cadena, i, 1)) + Tam - i + 10)
Next
End Function

Private Function Descencriptar(Cadena As String)
Dim Tam As Long
Dim i As Long
Tam = Len(Cadena)
Descencriptar = ""
For i = 1 To Tam
    Descencriptar = Descencriptar & Chr(Asc(Mid(Cadena, i, 1)) - Tam + i - 10)
Next
End Function


bueno no se xD si les sirve o quieren opinar o conocen algun otro copado :P

s E t H

trata de cifrar esto:
chr(1) & chr(1) & chr(1)

no probe, pero creo que da un resultado negativo y falla al hacer el chr()
para solucionarlo podes hacer que cuando quede abajo del 0 siga desde 255

SKL (orignal)

yo hice algo muy muy parecido, pero convertia el caracter en ascii y despues le sumaba algun valor, entonces siempre me iba a quedar numeros de 3 sifas. despues con el descifrar le restaba el numero a las 3 cifras y lo convertia en caracter. todo eso con un for que iba de 3 en 3...

Aca te dejo uno, pero este no sumba ningun valor, solo converte el caracter

Private Sub Command1_Click()
    Dim s As String
    s = UCase(Text1)
    Text2 = ""
    For i = 1 To Len(s)
        Text2 = Text2 & "0" & Asc(Mid(s, i, 1))
    Next
End Sub

Private Sub Command2_Click()
    Dim s As String
    s = Text2
    Text2 = ""
    For i = 1 To Len(s) Step 3
        Text2 = Text2 & Chr(Val(Mid(s, i, 3)))
    Next
End Sub


saludos =)

vivachapas

Cita de: s E t H en  1 Noviembre 2008, 20:58 PM
trata de cifrar esto:
chr(1) & chr(1) & chr(1)

no probe, pero creo que da un resultado negativo y falla al hacer el chr()
para solucionarlo podes hacer que cuando quede abajo del 0 siga desde 255

mmm la onda es cifrar texto plano xD...