ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Encripta Y Desencripta

amiguis1402862 de Agosto de 2014

1.025 Palabras (5 Páginas)164 Visitas

Página 1 de 5

ENCRIPTA Y DESENCRIPTA

El siguiente artículo se trata de un algoritmo que permite encriptar y desencriptar texto, cadenas a través de una clave personal de un usuario. Este algoritmo puede utilizarse para cifrar datos para una base de datos, un archivo o fichero, contraseñas, etc. En breve hago un detalle del mismo.

El Algoritmo y su Origen

El siguiente código realiza los dos procesos de Encriptación y Desencriptación. Existe un parámetro en la función que se encarga de controlar este comportamiento. La función se encuentra dentro de una clase, la cual, he llamado ClsEcrypt. El algoritmo es que se muestra a continuación:

Public Function Encrypt(ByVal Word As String, ByVal Key As String, _

Optional ByVal Mode As Boolean = False) As String

Dim w As Long, k As Long, p As Long, j As Long, NuChr As Long

Dim Cd As String, Kd As String, Rd As String

w = Len(Word)

k = Len(Key)

' Modalidad de Encripción...

If Mode = False Then

For j = 1 To w

Cd = Mid(Word, j, 1)

If p = k Then p = 0

p = p + 1

Kd = Mid(Key, p, 1)

NuChr = Asc(Cd) + Asc(Kd)

If NuChr > 255 Then

NuChr = NuChr - 255

End If

Rd = Rd & Chr(NuChr)

Next

Encrypt = Rd

Exit Function

End If

' Modalidad de Dencripción...

If Mode = True Then

For j = 1 To w

Cd = Mid(Word, j, 1)

If p = k Then p = 0

p = p + 1

Kd = Mid(Key, p, 1)

NuChr = Asc(Cd) - Asc(Kd)

If NuChr < 0 Then

NuChr = NuChr + 255

End If

Rd = Rd & Chr(NuChr)

Next

Encrypt = Rd

Exit Function

End If

End Function

¿Cómo Funciona?

El parámetro Mode, según sea True o False, es utilizado para optar por el modo de Encriptación y Desencriptación. Los dos siguientes parámetros, Word y Key, son utilizados para trasladar los datos hacia la estructura de proceso de codificación.

Suponiendo que el parámetro Mode sea False, el algoritmo procederá a realizar el proceso de Encriptación. A su vez, tomará de los parámetros Word y Key la cadena de dato y la clave para procesarla y encriptar el mensaje. Analizando el proceso que se encuentra dentro de una estructura de decisión, vemos que se produce un proceso muy interesante. La variable w es utilizada para determinar la cantidad de caracteres posee la frase a encriptar, que se encuentra almacenada en la variable Word. Así mismo, la variable k, hace lo mismo para la variable Key que resulta en la clave de cifrado. Ahora, la función Mid en la línea Mid(Word, j, 1), es utilizada para recorrer, caracter por caracter, la frase almacenada en la variable Word. Cada uno de estos caracteres, se almacena en la variable temporal Cd por cada paso o avance de lectura de la fución Mid. Unas líneas más adelante, vemos que el caracter almacenado en Cd es casteado "convertido" a un valor numérico. Dicho valor numérico se corresponde a la carta de codificación ASCII. Luego, este número más su homólogo proceso con la clave, me refiero a la variable Key, sufre el mismo proceso de casteo. Todo este proceso final da como resultado otro caracter que se supone es el cifrado.

El problema que existe en este proceso es superar el valor de 255. Como se dará cuenta, la cartilla ASCII codifica caracteres en formato oscila entre los valores 0 y 255. Dado que se trata de una cartilla basada en un código binario de 8 bits, 2 elevado

...

Descargar como (para miembros actualizados) txt (4 Kb)
Leer 4 páginas más »
Disponible sólo en Clubensayos.com