Descripción: Devuelve un valor hash para la cadena_alfanumérica de entrada. Un valor hash es el resultado de realizar algunas operaciones aritméticas sobre una cadena de caracteres para obtener un número que representa a esa cadena. Es muy útil para guardar contraseñas.

Tipo de resultado: Bigint

Sintaxis:

HASH(cadena_alfanumérica)

Ejemplo:

SELECT
   HASH('WALTER')
FROM
   RDB$DATABASE

Y en la imagen de abajo se ve el resultado obtenido:

HASH1

 

(haciendo clic en la imagen la verás más grande)

El algoritmo a usar sería el siguiente:

  • En la Base de Datos no se guardan las contraseñas de los usuarios sino el hash de esas contraseñas
  • Cuando un usuario quiere conectarse, se compara el hash de la contraseña que introdujo con el hash que se tiene guardado

De esta manera, como la contraseña no está guardada en ninguna tabla de la Base de Datos por más que algún intruso consiga acceder a ella no encontrará las contraseñas, porque lo que se guarda es el hash de las contraseñas, no las contraseñas. Y conociendo el hash no podrá conocer la contraseña.