Una calculadora hash puede ser varias cosas pero, en un sentido muy amplio, se refiere a un programa o función que acepta algún tipo de entrada y luego ejecuta esa entrada a través de un algoritmo para crear un valor de salida, como un número grande o un bloque de símbolos. El término se usa a menudo en la transmisión de datos para referirse a un programa que crea un tipo de clave con un algoritmo para que cualquiera que reciba los datos transmitidos pueda usar el mismo algoritmo para obtener la misma clave y ver si los datos llegaron intactos y sin modificar. En programación informática, el término «calculadora hash» se puede utilizar para indicar una función hash que convierte algún tipo de datos en una clave hash que luego es procesada por otro algoritmo para crear un índice en una matriz en la que se puede almacenar la información. Aunque ambos conceptos de la calculadora son similares, los resultados son muy diferentes y, por lo general, no son intercambiables. Una propiedad común de una calculadora hash, independientemente de su uso, es que el valor hash generado siempre será idéntico para un dato determinado, independientemente de dónde o cuándo se ejecute el programa.
En esencia, una calculadora de hash es solo un programa o función que crea un hash a partir de algunos datos. Un hash es solo una palabra para un valor y puede ser cualquier cosa, desde un número hasta una cadena de cientos de caracteres alfanuméricos, dependiendo de cómo se utilice. Los datos que se agregan a una calculadora hash para crear un hash también pueden ser casi cualquier cosa. Cuando se utiliza para comprobar errores en la transmisión de datos, la fuente de un valor hash suele ser un documento completo o un archivo de datos, como un correo electrónico o un archivo de imagen. En programación, debido a que el valor hash se utiliza para determinar dónde se almacenan los registros de datos en una tabla hash, el valor de entrada generalmente es una parte de un registro de datos que es único, como el apellido de una persona, un número de teléfono o un número de cuenta.
En el caso de la transmisión de datos, una calculadora hash utiliza cualquiera de los cientos de algoritmos matemáticos diferentes para crear el valor hash único para la información que se transmite. Esto puede ser algo tan simple como agregar todos los valores de todos los bytes en un archivo, en cuyo caso el valor hash es la suma. También puede ser mucho más complejo, ya que implica contar bloques de bits o procesar de forma redundante diferentes secuencias de números. Sin embargo, uno de los aspectos más importantes de cualquier algoritmo hash es que el valor hash resultante debe ser siempre el mismo si se utilizan los mismos datos como entrada. Este concepto significa que, si un archivo se transmite con su propio valor hash calculado, entonces el receptor de los datos puede usar una calculadora hash con el mismo algoritmo para determinar si los valores hash de los datos coinciden, verificando que los datos se recibieron intactos. y sin errores ni cambios.
En programación, el término «calculadora hash» se utiliza con frecuencia para describir una función que convierte un dato en un valor hash. A diferencia de la transmisión de datos, el número generado por la calculadora en este caso no se usa necesariamente para la verificación, sino para calcular un índice en una tabla hash donde se almacenará la información. Se calcula un valor hash intermedio para permitir que un mayor número de registros de datos se coloquen de manera predecible en una tabla hash más pequeña, con algunos registros generando los mismos valores en determinadas circunstancias. Tanto el algoritmo utilizado para calcular un valor hash como los datos utilizados como entrada son bastante arbitrarios para una tabla hash y, por lo general, son específicos de la aplicación.