Installation der pgcrypto-Erweiterung [geschlossen]

8

Ich habe diese Passwort-Hash-Funktion, die ein Passwort zu sha256 hascht. Ich habe es bereits in pgadmin3 in einer lokalen Datenbank ausgeführt. Ich habe es getan, indem ich die Erweiterung importiert habe, eine Funktion, die vor einigen Versionen hinzugefügt wurde.

Für meine Schularbeiten muss ich den Trigger auf einem phppgadmin-Server ausführen, aber wenn ich ihn ausführe

CREATE EXTENSION pgcrypto; 

Ich bekomme

ERROR:  could not open extension control file "/usr/share/postgresql/9.1/extension/pgcrypto.control": No such file or directory

Wie kann ich das beheben, ohne meinen Hash in einen schwächeren (md5 oder sha1) ändern zu müssen?

CMJunior
quelle
Bitte verwenden Sie keinen einzigen Durchgang einer Hash-Funktion, um Passwörter zu hashen, und rollen Sie bitte keine eigenen. Siehe meine Antwort auf Passwortüberprüfung - Wie kann ich sicher überprüfen, ob das eingegebene Passwort korrekt ist und wie kann ich Passwörter sicher hashen? . Wenn Sie eine gute PostgreSQL PBKDF2 / BCrypt / SCrypt-Implementierung erhalten, möchte ich sie meinem Github-Repository hinzufügen , wo ich mehrere Beispiele für Passwort-Hashing-Algorithmen habe, die derzeit sehr grob sind. Versuchen Sie es mit OpenSSL oder PolarSSL.
Anti-Schwachkennwörter
pgAdminund phpPgAdminsind beide nur GUIs, die auf (dieselbe) Postgres-Datenbank zugreifen. Es gibt auch ein paar ähnliche Fragen: dba.stackexchange.com/search?q=postgres+contrib
Erwin Brandstetter
Ich habe dafür gestimmt, dies zu schließen, da es sich um ein Verpackungsproblem handelt. Ohne zu wissen, welche Distribution er verwendet, können wir nicht beantworten, wie Sie pgcrypto installieren.
Evan Carroll

Antworten:

10

Ich gehe davon aus, dass Sie diese Erweiterung auf einem anderen Server erstellen möchten. Ich vermute, dass auf dem Server das Paket "postgresql contrib" nicht installiert wurde. Dieses Paket enthält die "Standard" -Erweiterungen, die im PostgreSQL-Quellcode verfügbar sind.

Ich denke, Sie müssen den Systemadministrator bitten, das erforderliche Paket für Ihr Betriebssystem zu installieren.

Für Debian und Ubuntu ist es das Paket " postgresql-contrib-9.1 ", für andere Plattformen hat es einen ähnlichen Namen.

Trygve Laugstøl
quelle
1
Sie müssen tun sudo apt-get install postgresql-contrib-9.1oder es hängt von der Version Ihres Postgres ab.
Eloone
Für Alpine Linux , apk add postgresql-contrib.
Arto Bendiken