Funciones Hash desde Excel VBA

Hola a toda mi comunidad, hoy veremos un tema bastante poco difundido, el cual es Funciones Hash desde Excel VBA

Descargar Funciones hash desde Excel VBA.xlsm

Antes de continuar, le envío un saludo a mi seguidor número 1, Gustavo :V

Empecemos con la definición de lo que es un hash, para ello consulto la página de Kaspersky

Es un algoritmo matemático que transforma cualquier bloque arbitrario de datos en una nueva serie de caracteres con una longitud fija

Kaspersky

Parafraseando lo que dice Kaspersky, un hash es una función a la que le ingresamos una cadena de texto o números y nos devuelve una cadena de texto diferente, usualmente con más caracteres

Por ejemplo una de las funciones Hash más comunes es mi amigo MD5, si a esta función le ingreso el texto ‘Hola’, me devuelve lo siguiente

MD5 desde excel VBA

Y ahora me preguntarás M4ster, ¿Para qué usaría una función Hash en Excel?

El mayor uso de estas funciones es para guardar y comparar contraseñas, ésto lo explicaré con un ejemplo en otra publicación

Vale, es hora de ir al punto del éste POST y mostrar las funciones HASH que podemos usar desde Excel VBA

Función ROT_13 desde Excel VBA – Reversible

Aplicar el ROT13 a un texto se reduce a examinar sus caracteres alfabéticos y sustituirlos por la letra que está 13 posiciones por delante en el alfabeto, volviendo al principio si es necesario y conservando las mayúsculas y minúsculas

Fuente: Wikipedia

La función que te voy a mostrar es la función ROT en general, a la cual tendrá una variable R opcional (Con valor 13 predeterminado), el código a utilizar es:

Obtenemos el ROT13 si no enviamos el valor opcional

ROT13 desde excel VBA

Por ejemplo si declaro el valor 9 como opcional, obtendré el ROT9 de la palabra ‘Hola’

ROT desde excel VBA

Función CRC32 desde Excel VBA

El CRC es un código de detección de error cuyo cálculo es una larga división de computación en el que se descarta el cociente y el resto se convierte en el resultado

Fuente: Wikipedia

Ésta función la podemos usar desde VBA con el siguiente código:

Al ejecutarla obtenemos el siguiente resultado

Función CRC32 desde Excel VBA

Función Base64 desde Excel VBA

Base 64 es un sistema de numeración posicional que usa 64 como base. Es la mayor potencia de dos que puede ser representada usando únicamente los caracteres imprimibles de ASCII.

Fuente: Wikipedia

En éste caso sólo usaremos la función base64 para texto, si en caso deseas usarla para imágenes, te recomiendo leer la siguiente publicación

Ésta función es de suma importancia declararla para las siguientes funciones que vamos a utilizar en éste POST

Usaremos dos funciones, una para convertir un texto a base64 y otra para realizar el proceso inverso (De base64 a texto)

Ejecutaremos las funciones Codificar_Base64 y Decodificar_Base64 las cuales reciben un texto

base64 texto desde excel vba

Función MD5 desde Excel VBA – Hash

Es un algoritmo de reducción criptográfico de 128 bits ampliamente usado. Uno de sus usos es el de comprobar que algún archivo no haya sido modificado.

Fuente: Wikipedia

Desde ésta función debemos agregar un código VBA que permita trabajar con Hexadecimales, el cual será el siguiente:

Después de agregar el código para convertir a hexadecimal, usaremos el siguiente código para usar la función MD5

Tener en cuenta que para usar ésta función es necesario agregar el código de la base64

Obtenemos el siguiente resultado:

Función MD5

Función SHA desde Excel VBA

Es un conjunto de funciones hash criptográficas (SHA-224, SHA-256, SHA-384, SHA-512) diseñadas por la Agencia de Seguridad Nacional (NSA) y publicada en 2001 por el Instituto Nacional de Estándares y Tecnología (NIST) como un Estándar Federal de Procesamiento de la Información (FIPS)

Fuente: Wikipedia

En esta publicación veremos cómo usar las funciones SHA1, SHA256, SHA384 y SHA512 desde Excel VBA y el uso es similar

Para poder usarlas debemos haber agregar el código de conversión a hexadecimal (Visto en el punto anterior) y el código de base64, las funciones son las siguientes:

El resultado que obtenemos será similar, les muestro el resultado del SHA1

SHA1 SHA256 SHA512

Muy bien, espero que te haya gustado mi publicación, soy el ingeniero M4STER y cualquier consulta la puedes realizar al correo M4ster@tutorialesexcel.com

Les dejo el archivo Excel, la contraseña es tutorialesexcel.com

Descargar Funciones hash desde Excel VBA.xlsm

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *