Capturar webcam con VB.NET

¿Que haremos? Crearemos una aplicación en Visual Studio, la cual hará uso de una webcam para capturar el video en frames independientes y depositarlos en memoria para despues mostralos al usuario a través de un picturebox y un Timer para crear la ilusión de movimiento. ¿Porque lo haremos? Porque es justo y necesario ¿Que necesitamos? [...]

Envío de correo con JavaMail/Netbeans

JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. JavaMail implementa el protocolo SMTP (Simple Mail Transfer Protocol) así como los distintos tipos de conexión con servidores de correo -TLS, SSL, autentificación con usuario y password, etc [Según SantaWikipedia] ¿Qué necesitamos? JavaMail 1.4.5 Java y Netbeans 6.9 [...]

Proyecto de base de datos Firebird VB

En este proyecto realizaremos una aplicación de base de datos Firebird con el lenguaje de programación de Visual Basic de Microsoft, este proyecto tendrá las funciones básicas de gestión INSERT, DELETE, UPDATE y una interfaz de usuario para utilizarlas. ¿Que necesitamos? Visual Studio 2008 o superior Firebird última versión Firebird ADO.NET Data Provider. Conocimientos básicos [...]

Imprimir imagen con Print

La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, esta clase a su vez es implementada desde una interfaz que hace fácil su uso, la clase así como todo el proyecto esta comentado. import java.io.File; import javax.print.Doc; import java.io.IOException; import javax.print.DocFlavor; import javax.print.SimpleDoc; import java.io.FileInputStream; [...]

Code Army Bolivia

16/1/10

Codigo Cesar: Algoritmo de encriptamiento en vb.net

JAN29



Utilizado, de ahí su nombre, por Julio César para comunicarse con sus oficiales, consiste en sustituir cada letra del mensaje por la que está n posiciones más adelante o atrás en el alfabeto.

Si n = 3, la A se sustituiría por la D, la B por E, la C por la F y así sucesivamente. De este modo, la palabra ABC se transforma en DEF encriptada, siendo n la llave (key) para poder decifrarla.

El proyecto.

1. Crea un nuevo proyecto en vb.net, la interfaz es sencilla y consiste en unos cuantos controles como en la imagen

2. Crea una nueva clase, llamala "Cesar.vb", esta clase estara compuesta por tres funciones, encriptar(), desencriptar() y clean(), esta ultima una funcion privada tiene el trabajo de limpiar el codigo de "retornos de carro" y de "caracteres especiales" que no se encuentren en la tabla predefinida para ello.

El codigo fuente de la clase Cesar.vb

Public Class Cesar

    'almacena todos los caracteres permitidos en el mensaje
    Private Const tabla = "abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJLKMNOPQRSTUVWXYZ,.-;:_{}[]+*\¿?!¡#$&/()=áéíóúÁÉÍÓÚñÑ" + Chr(13)
    Private resultado As String
    Private i As Integer
    Private pos As Integer

    Function Encriptar(ByVal texto As String, ByVal key As Integer) As String
        resultado = ""
        texto = clean(texto)
        For i = 0 To (texto.Length - 1)
            'buscar la posicion del caracter 
            pos = tabla.IndexOf(texto.Chars(i))
            'realiza el reemplazo de caracteres
            If (pos + key) < tabla.Length Then
                resultado = resultado + tabla.Chars(pos + key)
            Else
                resultado = resultado + tabla.Chars((pos + key) - tabla.Length)
            End If
        Next
        'reconstruye el mensaje con los retornos de carro
        resultado = resultado.Replace("{.13}", vbCrLf)
        Return resultado
    End Function

    Function Desencriptar(ByVal texto As String, ByVal key As Integer) As String
        resultado = ""
        texto = clean(texto)
        For i = 0 To (texto.Length - 1)
            pos = tabla.IndexOf(texto.Chars(i))
            If ((pos - key) < 0) Then
                resultado = resultado + tabla.Chars((pos - key) + tabla.Length)
            Else
                resultado = resultado + tabla.Chars(pos - key)
            End If
        Next
        resultado = resultado.Replace("{.13}", vbCrLf)
        Return resultado
    End Function

    Private Function clean(ByVal t As String) As String
        ' reemplaza el retorno de carro con un simbolo
        t = t.Replace(vbCrLf, "{.13}")
        ' reemplaza los caracteres que no se encuentran en la tabla por un simbolo
        For i = 0 To (t.Length - 1)
            pos = tabla.IndexOf(t.Chars(i))
            If (pos = -1) Then
                t = t.Replace(t.Chars(i), "{.d}")
            End If
        Next
        Return t
    End Function

End Class

Resultado

2 comentarios:

Yony dijo...

Gracias excelente

C@RLOS @ dijo...

Gracias men por el codigo esta genial, pero podrias tambien publicar el codigo de los botones ya q no he podido hacerlo funcionar y vi otro post donde esta el ejercicio en java con el codigo de los botones, pero lo necesito en .net.

Gracias men, te agrdesco

Post recomendado