it-swarm-eu.dev

Quanto dura l'hash SHA256?

Ho intenzione di eseguire SHA256 su una password + salt, ma non so quanto a lungo rendere VARCHAR quando si imposta il database MySQL. Qual è una buona lunghezza?

215
Tony Stark

Un sha256 è lungo 256 bit, come indica il nome.

Se si utilizza una rappresentazione esadecimale, ogni cifra codifica per 4 bit; quindi hai bisogno di 64 cifre per rappresentare 256 bit - quindi, hai bisogno di un varchar(64), o char(64), in quanto la lunghezza è sempre la stessa, non varia affatto.

E la demo:

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

Ti darò:

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

cioè una stringa con 64 caratteri.

293
Pascal MARTIN

Opzioni di codifica per 256 bit di SHA256:

  1. Base64: 6 bit per char = CHAR(44) compreso il carattere di riempimento
  2. Esadecimale: 4 bit per char = CHAR(64)
  3. Binario: 8 bit per byte = BINARY(32)
56
RickNZ

Preferisco usare BINARY (32) poiché è il modo ottimizzato!

È possibile inserire in 32 cifre esadecimali da (00 a FF).

Quindi BINARIO (32)!

24
marctrem

Perché dovresti renderlo VARCHAR? Non varia Sono sempre 64 caratteri, che possono essere determinati eseguendo qualsiasi cosa in no dei calcolatori SHA-256 online .

20
ceejayoz

Sarà risolto 64 caratteri, quindi usa char(64)

6
Noushad