Formato delle stringhe hash [chiuso]

0

Quando eseguo l'hashing di una stringa, a volte vedo il formato in questo modo:

{SHA512}1G2zjh2Bso/LzS06JDLXcELCJX4TQm7oXL5Et3Yg4Veyji7iQW26VnBdEHiURM5evO6duJjzY5387mkWV0oiyYA=

Specificamente la sezione che indica la funzione hash SHA512 .

Questo è uno standard? C'è qualche documentazione da qualche parte su quali possono essere i possibili valori tra {} ?

Ad esempio, se volessi usare bcrypt, cosa inserirò lì?

    
posta prajo 12.01.2016 - 18:41
fonte

1 risposta

1

Questo non è uno standard, è specifico per l'implementazione. Viene utilizzato dalla libreria che blocca la password per identificare quale funzione hash è stata utilizzata.

Ad esempio, PHP utilizza questo formato nella sua libreria di hashing delle password :

$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a
  • 2y significa che PHP ha usato l'algoritmo di bcrypt.
  • 10 è il costo utilizzato per cancellare la stringa.
  • Il resto della stringa memorizza il sale (se usato) e l'hash stesso.

Avere questi metadati consente a PHP di selezionare automaticamente l'algoritmo / costo corretto quando lo script chiama password_verify con la stringa fornita dall'utente.

    
risposta data 12.01.2016 - 18:52
fonte

Leggi altre domande sui tag