äquivalentes Salz und Hash in Golang

9

Hier ist ein Beispiel für das Salzen und Hashing eines bestimmten Passworts in Python.

%Vor%

Was uns im Gegenzug eine Hash-und gesalzene Zeichenfolge geben würde: -

%Vor%

Wie würde ich das in Golang umsetzen?

    
Calvin Cheng 13.04.2014, 05:27
quelle

3 Antworten

16

Go hat in der Standardbibliothek keinen Scrypt, aber im go.crypto Repo gibt es eine "offizielle" Implementierung.

%Vor%     
Stephen Weinberg 13.04.2014, 06:12
quelle
6

Es sieht so aus, als ob Go jetzt in der offiziellen Bibliothek srypt ist. Ihr Unterrepository x / crypto unter vielen anderen Kryptofunktionen hat einen scrypt .

Hier ist ein Beispiel, wie Sie es verwenden können:

%Vor%     
Salvador Dali 20.06.2016 07:04
quelle
1

Anstatt scrypt zu verwenden, ist golang.org eine großartige Bibliothek, um Passwörter mit zufälligen Sales in Golang sicher zu hashen / x / crypto / bcrypt , wie in der folgenden Antwort erwähnt:

Bcrypt Passwort-Hashing in Golang (kompatibel mit Node.js )?

Ein paar Vorteile der Verwendung von bcrypt anstelle von scrypt :

  1. Das Salz wird automatisch (und zufällig) nach dem Hashing eines Passwortes generiert, so dass Sie sich keine Gedanken über die Salzbildung machen müssen.
  2. Wenn Sie gehashte Passwörter in einer Datenbank speichern, müssen Sie sich nicht mehr darum sorgen, das Salz für jeden Passwort-Hash zu speichern.
  3. Die Syntax ist vereinfacht für das Hashing und das Überprüfen von Passwörtern.
  4. Der von bcrypt erzeugte Hash enthält die bcrypt-Version, Kosten, Salz und Chiffre, nicht nur die Chiffre.

Hier ist ein Beispiel für die Verwendung von bcrypt aus der obigen Antwort:

%Vor%     
Iron John Bonney 10.07.2017 17:15
quelle

Tags und Links