Encriptador Curso de Programación Visual Basic

Lección:

Más sobre Clases


Ejercicio:

Encriptador 32


Objetivo:

Cree una clase "Encrypter" para cifrar y descifrar texto.

Tendrá un método "Encrypt", que recibirá una cadena y devolverá otra cadena. Será un método estático, por lo que no necesitamos crear ningún objeto de tipo "Encrypter".

También habrá un método "Descifrar".

En este primer enfoque, el método de cifrado será muy sencillo: para cifrar añadiremos 1 a cada carácter, de forma que "Hello" se convertiría en "Ipmb", y para descifrar restaríamos 1 a cada carácter.

Un ejemplo de uso podría ser

string newText = Encrypter.Encrypt("Hola");


Código:

Imports System
Namespace Program
    Class Encrypter
        Public Shared Function Encrypt(ByVal text As String) As String
            Dim letterInt As Integer = 0
            Dim letter As Char = " "c
            Dim textEncripted As String = ""

            For i As Integer = 0 To text.Length - 1
                letterInt = CInt(text(i)) + 1
                letter = ChrW(letterInt)
                textEncripted += letter.ToString()
            Next

            Return textEncripted
        End Function

        Public Shared Function Decrypt(ByVal text As String) As String
            Dim letterInt As Integer = 0
            Dim letter As Char = " "c
            Dim textDecripted As String = ""

            For i As Integer = 0 To text.Length - 1
                letterInt = CInt(text(i)) - 1
                letter = ChrW(letterInt)
                textDecripted += letter.ToString()
            Next

            Return textDecripted
        End Function
    End Class

    Class TextEncripted
        Private Shared Sub Main()
            Dim debug As Boolean = True
            Dim newText As String = Encrypter.Encrypt("Hola")
            Console.WriteLine("Text encripted: {0}", newText)
            Dim TextDescripted As String = Encrypter.Decrypt(newText)
            Console.WriteLine("Text Decripted: {0}", TextDescripted)
            If debug Then Console.ReadLine()
        End Sub
    End Class
End Namespace