Clase para ENCRIPTAR POR BLOWFISH con Visual FoxPro

visual fox pro manuales foro libros
ada
Clase para ENCRIPTAR POR BLOWFISH con Visual FoxPro RegistrateNewsletter
+ de 45.000 registrados
Clase para ENCRIPTAR POR BLOWFISH con Visual FoxPro
AñadenosFavoritos
Inicio >> Visual Fox Pro >> esta pagina
Clase para ENCRIPTAR POR BLOWFISH con Visual FoxPro
 

Clase para ENCRIPTAR POR BLOWFISH con Visual FoxPro

La clase BLOWFISH.VCX desarrollada en Visual FoxPro y permite encriptar y desencritar cadenas de texto mediante el algoritmo de Blowfish.

1. Clase Blowfish
1.2 Codificar
1.3 Codificar Simple
1.4 Codificar Blowfish
1.5 Decodificar
1.6 Decodificar simple
1.7 Decodificar blowfish
2. Ejemplo

Para VFP 9
--> DESCARGAR BLOWFISH.VCX<--

VFP 8,7,6 y Anteriores
--> DESCARGAR BLOWFISH6.VCX<--

Descargar versión en codigo

 

CLASE BLOWFISH.BLOWFISH

Esta clase permite encriptar y desencriptar cadenas de texto con el algoritmo de Blowfish.

 

Métodos y propiedades de la clase Zip.Interface

Propiedades

Metodos

Codificar: Encripta una cadena de texto, no requiere contraseña, retorna una cadena de caracteres y su uso es

=Objeto.Codificar('Mi Cadena a Encriptar")

retorna "4D6920436164656E61206120456E63726970746172"

Este metodo es desencriptado por "Decodificar"

CodificarSimple: Este metodo integra Codificar, ademas necesita una contraseña para encriptar la cedena de texto, retorna una cadena de caracteres y su uso es:

=Objeto.CodificarSimple('Mi cadena a encriptar','MiContraseña')

retorna " 9AD263D2CFD8D7CFD485526DCEB1D2E0DDE2D5D4D7"

Este metodo es Desencriptado por " DecodificarSimple"


CodificarBlowfish: Este metodo integra el anterior e implementa el algoritmo de Blowfish, al igual que el anterior tambien necesita una contraseña, retorna una cadena de caracteres y su uso es:

=Objeto.CodificarBlowfish('Mi cadena a encriptar','MiContraseña')

retorna "BF5E4F0609B44091C995
4E12C5E917886A07E7AB9C
3F096C6ECE1610BBA71260
6ECE1610BBA712606ECE16
10BBA712606ECE1610BBA7
12606ECE1610BBA712605D
46408A59B1335D
"

Este metodo es Desencriptado por "DecodificarBlowfish"

Decodificar: Desencripta una cadena de texto, no requiere contraseña, su uso es

=Objeto.Decodificar('4D6920436164656E61206120456E63726970746172')

DecodificarSimple: Este metodo integra Decodificar, ademas necesita una contraseña para desencriptar la cedena de texto, su uso es:

=Objeto.DecodificarSimple('9AD263D2CFD8D7CFD485526DCEB1D2E0DDE2D5D4D7','MiContraseña')


DecodificarBlowfish: Este metodo integra el anterior e implementa el algoritmo de Blowfish, al igual que el anterior tambien necesita una contraseña, su uso es:

=Objeto.CodificarBlowfish('BF5E4F0609B44091C995
4E12C5E917886A07E7AB9C
3F096C6ECE1610BBA71260
6ECE1610BBA712606ECE16
10BBA712606ECE1610BBA7
12606ECE1610BBA712605D
????=>???a ?¾??? 46408A59B1335D','MiContraseña')

 

Ejemplo:

*!* Programa: "blowfish ejemplo.prg"

LOCAL lcCadenaA as string, lcCadenaB as String
SET CLASSLIB TO "blowfish.vcx"

*!* EJEMPLO Codificar y Decodificar

o=CREATEOBJECT('blowfish.blowfish')
lcCadenaA=o.Codificar('MiNombre')
? lcCadenaA && Retorna "4D6920436164656E61206120456E63726970746172"
? o.Decodificar(lcCadenaA) && Retorna MiNombre

*!* EJEMPLO CodificarSimple y DecodificarSimple

lcCadenaA=o.CodificarSimple('Mi cadena a encriptar','MiContraseña')
? lcCadenaA && Retorna "9AD263D2CFD8D7CFD485526DCEB1D2E0DDE2D5D4D7"
? o.DecodificarSimple(lcCadenaA,'MiContraseña') && Retorna MiNombre

 

*!* EJEMPLO CodificarBlowfish y DecodificarBlowfish

lcCadenaA=o.CodificarBlowfish('Mi cadena a encriptar','MiContraseña')
? lcCadenaA && Retorna "BF5E4F0609B44091C9954E12C5E917886A07E7AB9C3F096C6ECE1610BBA712606E????=>
CE1610BBA712606ECE1610BBA712606ECE1610BBA7 12606ECE1610BBA712605D 46408A59B1335D"

?o.DecodificarBlowfish(lcCadenaA,'MiContraseña') && Retorna MiNombre

 

Nota: Los tres metodos (Codificar, CodificarSimple y CodificarBlowfish ) deben ser desencriptados por los metodos respectivos (Decodificar, DecodificarSimple, decodificarBlowfish), ya que cada uno genera una llave distinta

Articulo de http://es.wikipedia.org/wiki/Blowfish http://en.wikipedia.org/wiki/Blowfish_(cipher)
WebSite original http://www.schneier.com/blowfish.html

En criptografía, Blowfish es un codificador de bloques simétricos, diseñado por Bruce Schneier en 1993 e incluido en un gran número de suites de codificadores y productos de cifrado. Mientas que ningún analizador de cifrados de Blowfish efectivo ha sido encontrado hoy en día, se ha dado más atención de la decodificación de bloques con bloques más grandes, como AES y Twofish.

Schneier diseño Blowfish como un algoritmo de uso general, intentando r????=>???a ?¾???eemplazar al antiguo DES y libre de problemas asociados con otros algoritmos. Al mismo tiempo, muchos otros diseños eran propietarios, patentados o los guardaba el gobierno. Schneier declaro “Blowfish no tiene patente, y así se quedara en los demás continentes. El algoritmo esta a disposición de dominio público, y puede ser usado libremente por cualquiera”.

 

El Algoritmo

Blowfish tiene bloques de 64 bits de tamaño y un tamaño de escritura desde 32 bits hasta 448 bits. Es un codificador de 16 rondas Feistel y usa largas S-Boxes que dependen de las teclas. Tiene una estructura similar a CAST-128, el cual usa S-Boxes modificadas.

 

Diagrama de Blowfish

El diagrama muestra la acción de Blowfish. Cada línea representa 32 bits. El algoritmo mantiene 2 arreglos de subteclas: El de 18 entradas alineadas en forma P, y 4 de 256 entradas en S-boxes. Una entrada de las P-aliniadas es usada cada ronda, después de la ronda final, cada mitad de la información de cada bloque es XORed con uno de las 2 P-entradas que no han sido utilizadas

 

Diagrama de Blowfish función F

El diagrama muestra las F funciones de Blowfish. Las funciones dividen las entrada de 32 bits en 4 de 8, y usa los cuartos como entradas a las S-Boxes. Las salidas son agregadas al módulo 231 y son XORed para producir la salida final de 32 bits.

Desde que Blowfish esta en la red Feistel, puede ser invertido solo por XORing P17 y P18 al bloque texto codificado, entonces se usa las Pa-entradas en orden reversivo.

La clave del comienzo de Blowfish esta en la inicialización de los P-arreglos y las S-boxes con los valores derivados desde los dígitos hexadecimales de pi, los cuales no contienen patrones obvios. El secreto esta en XORed con las P-entradas en orden, ciclando la llave si es necesario. Un bloque de 64 bits vació es encriptado con el algoritmo como se indica. El texto codificado resultante reemplaza P1 y P2. Entonces el texto codificado es encriptado de nuevo con la nuevas subclaves, P3 y P4 son reemplazados por el nuevo texto codificado. Esto continúa, reemplazando los P-arreglo en todo los S-boxes. En todo, el algoritmo de encriptación Blowfish correrá 521 veces para generar todas las subclaves, cerca de 4KB de datos procesados

José Guillermo Ortiz Hernández
Programador Visual FoxPro, WEB Developer


Mas articulos de visual fox pro
visual fox pro Cómo automatizar Word de Visual FoxPro y agregar una tabla a un documento
visual fox pro Crear un instalador en Inno Setup para una aplicacion desarrollada en Visual FoxPro (VFP)
visual fox pro Simulador de la ventana de comandos de visual fox pro
visual fox pro Definir un menú en Visual FoxPro
visual fox pro Clase para crear archivos ZIP con Visual FoxPro 9
visual fox pro Codificar cadenas con vernam en visual fox pro
visual fox pro Codificar cadenas con MD5 en visual fox pro
visual fox pro Clase para ENCRIPTAR POR BLOWFISH con Visual FoxPro
visual fox pro como automatizar hojas de calculo de microsoft excel con Visual FoxPro
visual fox pro Como insertar un control OCX y hacer uso de el en FoxPro
visual fox pro Definir un ComboBox con Imágenes y fuente en un color específico,
  ver mas articulos de visual fox pro
   
Secciones de Visual Fox Pro
visual fox pro Nuestro Manual de Visual Fox Pro Seccion Descargas Visual Fox Pro
Manuales de Visual Fox Pro Tutoriales de Visual Fox Pro
visual fox pro Seccion Foro Visual Fox Pro visual fox pro Seccion Codigo Fuente
Seccion Libros de Visual Fox Pro    
Recomendar
hacer logos para tu web gratis crear un logo logo creator Recomendar esta pagina a un amigo


Clase para ENCRIPTAR POR BLOWFISH con Visual FoxPro