Crypto

Aquí encontrará toda la información sobre el producto Crypto.

Algunas Imágenes del Programa

Pantalla principal del programa.


Codificar y Descodificar empleando la librería Cls_Crypto.dll
La librería de codificación y descodificación se llama Cls_Crypto.dll
La librería se ejecuta pasando sólamente un parámetro, que es una estructura llamada "Encode".

En esta estructura indicamos los valores que queremos emplear para codificar y descodificar, y como retorno, recibimos diferentes variables.

Los posibles valores que podemos introducir en cada variable de esta estructura, están determinados por su correspondiente enumeración (Enum). Para conocer esos valores, introducimos el nombre de la enumeración y un punto. Ejemplo: "Idiomas."

Ejemplo de Empleo de la Librería Cls_Crypto.dll
En el ejemplo siguiente, se muestra como codificar con esta librería en un proyecto realizado con Visual Basic .Net y empleando Visual Studio 2015.

1.- Estando en Visual Studio, abre tu proyecto y pulsa en "Proyecto", "Agregar Referencia", "Examinar" e indica la ruta al archivo Cls_Crypto.dll
2.- En el archivo .vb donde vayas a emplear la librería, introduce la línea: Imports Name_Crypto o using Name_Crypto en Visual C.Net
3.- En la zona del programa donde necesites codificar o descodificar, introduce:

Dim Encode As Name_Crypto.Encode
o en Vc.Net:
public static Name_Crypto.Encode Encode;

' -- Origen.
Encode.Idioma = Idiomas.Esp                   ' -- Idioma del Programa.
Encode.InfoAccion = InfoAcc.Encode         ' -- Tipo de Accion. Encode, Decode.
Encode.InfoOrigen = InfoOri.Texto              ' -- Tipo de Origen. Texto, TextoRtf, Archivo.
Encode.InfoDestino = InfoOri.Texto             ' -- Tipo de Destino en el RichTextBox. Texto, TextoRtf.
Encode.Prioridad = Prioridad.Tiempo_Real  ' -- Prioridad de Codificacion.
'
' -- Codificación.
Encode.InfoCodificacion = InfoCod.Lemon   ' -- Tipo de Codificacion.
Encode.InfoEncriptado = InfoEnc.Nectarine ' -- Tipo de Encriptado.
Encode.EncriptaPassword = "123"             ' -- Contraseña de Encriptado.
Encode.InfoCompresion = InfoCom.Kiwi      ' -- Tipo de Compresion.
Encode.InfoOfuscacion = InfoOfu.Kumquat  ' -- Tipo de Ofuscacion.
'
' -- Texto o Bytes a Codificar.
Encode.Origen = "Texto a Codificar" ' -- Texto o Rtf del RichTextBox.
Encode.OrigenBytes = Nothing        ' -- Bytes() de Archivo.
'
' -- Ejecuta la Codificación.
Dim Cls_Crypto As Cls_Crypto
Cls_Crypto = New Cls_Crypto(Encode)
o en Vc.Net:
Cls_Crypto Cls_Crypto = new Cls_Crypto(ref Encode);
'
' -- Retorno. Comprueba si ha Habido Error.
If Not Encode.ErrorFcn Then
   ' -- Encode.DestinoBytes con el Resultado en Formato Bytes.
   ' -- Encode.Destino con el Resultado en Formato Texto o TextoRtf.
   ' -- Encode.Destino.Length y Encode.DestinoBytes.Length con Tamaño del Resultado.
End if

La estructura Encode
A continuacion se muestra el contenido de la estructura Encode.

Public Structure Encode ' -- Estructura Principal.
' -- General.
Public Idioma As Integer       ' -- (Enum Idiomas) Idiomas.
Public InfoAccion As Integer  ' -- (Enum InfoAcc) Tipo de Accion. Encode, Decode.
Public InfoOrigen As Integer  ' -- (Enum InfoOri) Procesar a Partir de la Parte Texto, Texto Enriquecido Rtf o Archivo (bytes).
Public InfoDestino As Integer ' -- (Enum InfoDes) Mostrar el Procesado en la parte Texto o Texto Enriquecido Rtf de Texto_DestinoObj As RichTextBox. Se emplea si InfoOrigen es Texto o TextoRtf.

' -- Codificación.
Public InfoCodificacion As Integer ' -- (Enum InfoCod) Tipo de Codificacion.
Public InfoEncriptado As Integer   ' -- (Enum InfoEnc) Tipo de Encriptación.
Public InfoCompresion As Integer ' -- (Enum InfoCom) Tipo de Compresion.
Public InfoOfuscacion As Integer  ' -- (Enum InfoOfu) Tipo de Ofuscacion.

' -- Origen.
Public OrigenBytes As Byte() ' -- Texto Origen a Tratar (Bytes). Recomendado.
Public Origen As String          ' -- Texto Origen a Tratar (String).

' -- Destino.
Public Archivo_Destino As String ' -- Archivo Destino Tratado si InfoOrigen = InfoOri.Archivo.

' -- Encriptación.
Public EncriptaPassword As String ' -- Contraseña de Encriptacion.
Public Encriptakey() As Byte          ' -- Llave Local (24 Bytes) Si No Se Quiere Emplear EncriptaPassword.
Public EncriptaVector() As Byte      ' -- Vector de inicializacion (8 Bytes) Si No Se Quiere Emplear EncriptaPassword.

' -- Opcional. Objetos donde Mostrar Mensajes.
Public Obj_Clean As Boolean ' -- Si = True, Limpia Autom.los Objetos en el Comienzo del Procesamiento.
Public Texto_DestinoObj As RichTextBox ' -- RichTextBox Donde Mostrar el Procesado Destino.
Public MensajesObj As RichTextBox        ' -- RichTextBox Donde Mostrar los Mensajes del Proceso.
Public ErrorMensajesObj As RichTextBox ' -- RichTextBox Donde Mostrar los Mensajes de Error del Proceso.

' -- Opcional. Varios.
Public Prioridad As Integer ' -- (Enum Prioridad) Prioridad del Proceso.

' -- Retorno. Destino Formato Byte() y Texto (String).
Public DestinoBytes As Byte() ' -- Texto Tratado (Bytes). Empleado por Defecto.
Public Destino As String          ' -- Texto Tratado (String).

' -- Retorno. Estadística.
Public FechaInicial As DateTime ' -- Fecha Inicial de Codificacion.
Public FechaFinal As DateTime  ' -- Fecha Final de Codificacion.
Public OrigenLen As Long          ' -- Tamaño en Bytes de la Entrada Origen.
Public DestinoLen As Long        ' -- Tamaño en Bytes de la Salida Destino.
Public Estadistica As String       ' -- Cadena que Muestra Tamaño Origen y Destino, Diferencial de Tamaño, Tiempo de Procesamiento y Kb/s.

' -- Retorno. Errores.
Public ErrorFcn As Boolean      ' -- Si = True, ha Habido Error en la Accion Actual.
Public ErrorCod As Integer        ' -- (Enum InfoError) Numero de Error en la Accion Actual.
Public ErrorExcp As Exception  ' -- Error Excepcion en la Accion Actual.
Public ErrorMensaje As String   ' -- Mensaje de Error.
End Structure