| cifrar
CADENAS CON vernam
La clase VERNAM.VCX desarrollada
en Visual FoxPro y permite cifrar cadenas mediante
el cifrado de Vernam, es un algoritmo de cifrado
por el que el texto en claro se combina con una
clave igual de larga que el texto, en este caso
la clave puede ser mas corta que el mensaje, ya
que esta se replica la cantidad de veces que sea
necesaria.
Ejemplo
Supongamos que la clave es
CLAVE
y el mensaje es
HOLA MUNDOÇ
entonces el cifrado se haría
de la siguiente manera:
| Clave |
67 (C) |
76 (L) |
65 (A) |
86 (V) |
69 (E) |
|
|
|
|
|
|
| Mensaje |
72 (H) |
79 (O) |
76 (L) |
65 (A) |
32 ( ) |
77 (M) |
85 (U) |
78 (N) |
68 (D) |
79 (O) |
199 (Ç) |
| Complemento |
|
|
|
|
|
67 (C) |
76 (L) |
65 (A) |
86 (V) |
69 (E) |
67 (C) |
| Suma |
139 |
155 |
141 |
151 |
101 |
144 |
161 |
143 |
154 |
148 |
266 |
| Si > 255 restamos 255 |
|
|
|
|
|
|
|
|
|
|
-255 |
| Valores encriptados |
139 |
155 |
141 |
151 |
101 |
144 |
161 |
143 |
154 |
148 |
11 |
El resultado es
"‹›—e¡š”
"
Esta clase implementa este algoritmo,
para mas informacion sobre el Verman y el Cifrado
de Vernam consulte http://es.wikipedia.org/wiki/Libreta_de_un_solo_uso

1. Clase Vernam
1.1 Encriptar
1.2 Desencriptar
2. Ejemplo
-->
DESCARGAR VERNAM.VCX y EJEMPLOS <--
CLASE
VERNAM
Esta clase permite codificar cadenas de texto
a travez de una implementacion de vernam. Encripta
una cadena de caracteres y genera una cadena de
caracteres Ascii.
Métodos y propiedades
de la clase
 |
Propiedades
Metodos
EncriptarLibreta:
codifica una cadena de texto, requiere una
contraseña de almenos un caracter,
retorna una cadena de caracteres y su uso
es
=Objeto.EncriptarLibreta('HOLA
MUNDOç","CLAVE")
retorna "‹›—e¡š”
"
DesencriptarLibreta:
Decodifica una cadena de texto, r ????a???A
?a?a????equiere una contraseña de
almenos un caracter, retorna una cadena
de caracteres y su uso es
=Objeto.DeseencriptarLibreta('‹›—e¡š”","CLAVE")
retorna "HOLA
MUNDOç " |
Ejemplo:
SET
CLASSLIB TO "vernam.vcx"
oVernam=CREATEOBJECT("Vernam")
lcSereto= oVernam.encriptarLibreta('HOLA
MUNDOç","CLAVE")
?
oVernam.encriptarLibreta(lcSereto,"CLAVE")
|
José
Guillermo Ortiz Hernández
Programador Visual FoxPro, WEB Developer
|