¿Cuánto dura el hash SHA256?

Resuelto Tony Stark asked hace 14 años • 5 respuestas

Voy a ejecutar SHA256una contraseña + salt, pero no sé cuánto tiempo debo hacer VARCHARal configurar la base de datos MySQL. ¿Cuál es una buena longitud?

Tony Stark avatar Feb 11 '10 05:02 Tony Stark
Aceptado

Un sha256 tiene 256 bits de longitud, como su nombre indica.

Dado que sha256 devuelve una representación hexadecimal, 4 bits son suficientes para codificar cada carácter (en lugar de 8, como para ASCII), por lo que 256 bits representarían 64 caracteres hexadecimales, por lo tanto, necesita a varchar(64), o incluso a char(64), ya que la longitud es siempre la misma. , sin variar en absoluto.

Y la demostración:

$hash = hash('sha256', 'hello, world!');
var_dump($hash);

Te regalaré :

$ php temp.php
string(64) "68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"

es decir, una cadena con 64 caracteres.

Pascal MARTIN avatar Feb 10 '2010 23:02 Pascal MARTIN

Opciones de codificación para los 256 bits de SHA256:

  1. Base64: 6 bits por carácter = CHAR(44)incluido el carácter de relleno
  2. Hexadecimal: 4 bits por carácter =CHAR(64)
  3. Binario: 8 bits por byte =BINARY(32)
RickNZ avatar Mar 05 '2015 02:03 RickNZ

¡Prefiero usar BINARY(32) ya que es la forma optimizada!

Puede colocar en esos 32 dígitos hexadecimales desde (00 a FF).

¡Por lo tanto BINARIO(32)!

marctrem avatar Jun 07 '2013 21:06 marctrem

¿Por qué lo harías VARCHAR? No varía. Siempre son 64 caracteres, que se pueden determinar ejecutando cualquier cosa en una de las calculadoras SHA-256 en línea .

ceejayoz avatar Feb 10 '2010 23:02 ceejayoz

Se arreglarán 64 caracteres, así que usechar(64)

Noushad avatar Oct 13 '2012 18:10 Noushad