¿Hay un límite para la entrada sha256?


Al hashear una cadena, como una contraseña, con sha256, ¿hay un límite en la longitud de la cadena que estoy hasheando? Por ejemplo, ¿es solo "seguro" hash cadenas que son

 26
Author: Jackson, 2013-06-30

2 answers

Técnicamente hay un límite, pero es bastante grande. El esquema de relleno utilizado para SHA-256 requiere que el tamaño de la entrada (en bits) se exprese como un número de 64 bits. Por lo tanto, el tamaño máximo es (264-1)/8 bytes ~ = 2'091' 752 terabytes.

Que hace que el límite casi sea totalmente teórico, no práctico.

La mayoría de las personas no tienen el almacenamiento para casi esa cantidad de datos de todos modos, pero incluso si lo tuvieran, procesándolo todo en serie para producir un solo hash tomaría una cantidad de tiempo que la mayoría consideraría prohibitivo.

Un cálculo rápido de la parte posterior de la envoltura indica que incluso con las SSD empresariales más rápidas actualmente1 listado en el hardware de Tom, y las rayas 16 de ancho para mejorar el ancho de banda, solo leer esa cantidad de datos todavía tomaría unos 220 años.


1. A partir de abril de 2016.

 40
Author: Jerry Coffin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-05 19:39:16

No existe dicho límite, aparte del tamaño máximo del mensaje de 264-1 bits. SHA2 se utiliza con frecuencia para generar hashes para ejecutables, que tienden a ser mucho más grandes que unas pocas docenas de bytes.

 5
Author: Michael Petrotta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-30 07:35:51