[Aportes indexados] Encriptación básica

Estado
Cerrado para nuevas respuestas.

Amraphen

Aprendiz Lvl 6
[VB6]Encriptación básica

[vb]<div class="vb" id="{CB}" style="font-family: monospace;"><ol><li style="" class="li1"> </li><li style="" class="li1"><span style="color: #b1b100;">Public</span> <span style="color: #b1b100;">Function</span> Encrypt<span style="color: #66cc66;">(</span>ByVal strText <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">String</span>, ByVal strKey <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">String</span><span style="color: #66cc66;">)</span> <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">String</span></li><li style="" class="li2"><span style="color: #b1b100;">Dim</span> i <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Integer</span></li><li style="" class="li1"><span style="color: #b1b100;">Dim</span> intKeyChar <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Integer</span></li><li style="" class="li1"><span style="color: #b1b100;">Dim</span> strTemp <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">String</span></li><li style="" class="li2"><span style="color: #b1b100;">Dim</span> strChar1 <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">String</span> * <span style="color: #cc66cc;">1</span></li><li style="" class="li1"><span style="color: #b1b100;">Dim</span> strChar2 <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">String</span> * <span style="color: #cc66cc;">1</span></li><li style="" class="li1"> </li><li style="" class="li2">    <span style="color: #b1b100;">For</span> i = <span style="color: #cc66cc;">1</span> <span style="color: #b1b100;">To</span> <span style="color: #b1b100;">Len</span><span style="color: #66cc66;">(</span>strText<span style="color: #66cc66;">)</span></li><li style="" class="li1">        strChar1 = <span style="color: #b1b100;">Mid</span><span style="color: #66cc66;">(</span>strText, i, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">)</span></li><li style="" class="li1">        intKeyChar = <span style="color: #66cc66;">(</span><span style="color: #66cc66;">(</span>i - <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">)</span> Mod <span style="color: #b1b100;">Len</span><span style="color: #66cc66;">(</span>strKey<span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span> + <span style="color: #cc66cc;">1</span></li><li style="" class="li2">        strChar2 = <span style="color: #b1b100;">Mid</span><span style="color: #66cc66;">(</span>strKey, intKeyChar, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">)</span></li><li style="" class="li1">        strTemp = strTemp & <span style="color: #b1b100;">Chr</span><span style="color: #66cc66;">(</span><span style="color: #b1b100;">Asc</span><span style="color: #66cc66;">(</span>strChar1<span style="color: #66cc66;">)</span> Xor <span style="color: #b1b100;">Asc</span><span style="color: #66cc66;">(</span>strChar2<span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span></li><li style="" class="li1">    <span style="color: #b1b100;">Next</span> i</li><li style="" class="li2">    </li><li style="" class="li1">    Encrypt = strTemp</li><li style="" class="li1"><span style="color: #b1b100;">End</span> <span style="color: #b1b100;">Function</span></li><li style="" class="li2"> </li></ol></div>[/vb]

Esa función lo que hace es encriptar/desencriptar el texto strText usando como key el valor de strKey.

Si no entienden como funciona, pregunten ^^.
Se viene la encriptación de charfiles si quieren ^^.
 

Caito

Newbie Lvl 1
Yo!!!

YO!!



No entendi nada :(

Jajaja, que hace eso mas exactemente encripta paquetes(antichit)..
encripta que?


Gratias!


Saludos y exitos
 

DiCHANHO

by cimsp.net
Se viene la encriptación de charfiles si quieren JiJi.

eso párese interesante.. pero estoy poniendo el contenido en una base de datos SQL SERVER y lo estoy encriptando con md5.

así que si no fuese por eso.. me prendo :)
 

Tavo

[color=#BF0000]Lucha por tus ideales![/color]
Una cosa, el MD5 ES UN HASH, NO UN ENCRIPTADOR!!!!!!

Sobre el código bastante bueno, pero no es muy dificil crackearlo. Igual, es útil.
 

Zy

Newbie Lvl 2
Tavo dijo:
Una cosa, el MD5 ES UN HASH, NO UN ENCRIPTADOR!!!!!!

Sobre el código bastante bueno, pero no es muy dificil crackearlo. Igual, es útil.

Claaa xD

Con MD5 no lo vas a podes desencriptar a menos que uses fuerza bruta.. Osea.. no sirve para guardar datos.. y encima con la fuerza bruta te puede llegar a dar datos distintos
 

DiCHANHO

by cimsp.net
bueno el md5 en mi caso lo uso para darle seguridad al SQL SERVER, ya que todos los datos se guardan ahí... en síntesis como si fuese una base de datos de mu online server...

de hecho mi db esta basado en el y el server en lineage con DOS.

bueno con mi comentario ya se fueron de tema..


Amraphen muy buen trabajo 8)
 

Amraphen

Aprendiz Lvl 6
Tendría que explicar bastante, pero asi es como funciona:

Para encriptar, en este codigo uso el operador Xor, que mas o menos funciona asi:

01010101
Xor
10101010
===========
11111111

Lo que hace el operador Xor es comparar los bytes (o sea, 8 bits) de a 2 (o sea, el primer bit del primer byte y el primer bit del segundo byte y asi sucesivametne) y si uno solo de ellos es 1, entonces devuelve 1.

Como ven, se comparan de a 2 y finalmente obtenemos el byte 11111111.

Luego, se preguntarán como volver a tener el byte que teniamos antes... bueno, es por eso que usamos Xor en la encriptación, ya que se puede revertir la situación. Entonces, volvemos a aplicar Xor:

11111111
Xor
10101010
============
01010101

Y tenemos de vuelta el byte.

Como notarán, el segundo byte que usamos antes. Esto se debe a que este byte es denominado "Key" o "Llave", ya que con este solo podemos desencriptar los datos que hemos "Xoreado".

Entonces, básicamente lo que hago en el código es buscando el primer caracter del string y lo comparo con el correspondiente de la key. Finalmente xoreamos y obtenemos el caracter encriptado, repitiendo todo el proceso hasta encriptar totalmente de la cadena.

Si no entienden pregunten porque yo no lo expliqué muy bien xD
 
Estado
Cerrado para nuevas respuestas.
Arriba