Ich habe Twin-Bcrypt JavaScript-Bibliothek untersucht und eine seltsame Sache gefunden. In einem Moment habe ich mein eigenes Salz auf Serverseite mit PHP base64_encode(openssl_random_pseudo_bytes(16))
gemacht und es in TwinBcrypt.hash()
Funktion verwendet, die geantwortet hat, dass Salz wegen der regelmäßigen Musterungleichheit in der Bibliothek ungültig ist. So ist das Muster:JS Twin-Bcrypt Salzmuster
var SALT_PATTERN = /^\$2[ay]\$(0[4-9]|[12][0-9]|3[01])\$[.\/A-Za-z0-9]{21}[.Oeu]/;
und es sieht gut aus für mein Salz, außer eine Sache - was zum Teufel ist das - [.Oeu]
?
Meine erste Frage ist, warum sie von Salz erwartet mit einem Punkt oder O oder e oder u zu beenden? Soweit ich weiß openssl_random_pseudo_bytes()
erzeugt sichere CSPRNG, aber wegen der Muster JS-Bibliothek will es nicht akzeptieren.
Zweite Frage - gibt es einen Sicherheitsgrund, damit das Salz mit /[.Oeu]/
Muster endet?
Ich wäre sehr dankbar für jede Hilfe, denn es gibt nicht viele Informationen darüber.
Dies sollte zu Wiki hinzugefügt werden. Ich danke dir sehr! – Nevertheless