Geben Sie Passwort-hash anstelle von Passwort löschen in Oracle-JDBC-client
Ich bin mit Oracle-JDBC-Treiber in meine Java-app zu erreichen, Oracle-DB. Erstellen Sie die Verbindung mit code:
DriverManager.getConnection(
"jdbc:oracle:thin:@myserver:port:mySID",
"myuser",
"mypassword");
erfordert das echte Passwort. Gibt es eine Möglichkeit, geben Sie den Kennwort-hash-statt wie:
DriverManager.getConnection(
"jdbc:oracle:thin:@myserver:port:mySID",
"myuser",
"mypasswordHash");
können Sie beschreiben, weitere? Warum brauchen Sie diese?
In den gemeinsamen Ansatz, ich müssen entweder fest Passwort (entweder codiert oder nicht) oder Abfrage der vom Benutzer zur Laufzeit. Ich möchte nur hardcode-Passwort-hash, was ist sicherer, glaube ich. Abfrage durch den Benutzer ist die Letzte option für jetzt.
Sie können Oracle-Wallet (sowas wie Java keystore) um Ihre Passwörter zu speichern. Und auch können Sie die Verwendung der Kerberos-principals für die Authentifizierung, aber es ist nicht trivial einzurichten.
Nicht sicher, warum Sie denken, dass ein hardcoded hash wäre "sicherer" als ein hardcoded Passwort? Wenn es jemand erlaubt, sich zu authentifizieren, ist es nicht sicherer als die original-Passwort, hätte ich gedacht.
Jeffrey, du hast Recht, es war eine dumme Idee, um das Kennwort-Hashwerte statt der Passwörter; das würde hashing nicht anders als das speichern von Passwörter löschen in der Datenbank.
In den gemeinsamen Ansatz, ich müssen entweder fest Passwort (entweder codiert oder nicht) oder Abfrage der vom Benutzer zur Laufzeit. Ich möchte nur hardcode-Passwort-hash, was ist sicherer, glaube ich. Abfrage durch den Benutzer ist die Letzte option für jetzt.
Sie können Oracle-Wallet (sowas wie Java keystore) um Ihre Passwörter zu speichern. Und auch können Sie die Verwendung der Kerberos-principals für die Authentifizierung, aber es ist nicht trivial einzurichten.
Nicht sicher, warum Sie denken, dass ein hardcoded hash wäre "sicherer" als ein hardcoded Passwort? Wenn es jemand erlaubt, sich zu authentifizieren, ist es nicht sicherer als die original-Passwort, hätte ich gedacht.
Jeffrey, du hast Recht, es war eine dumme Idee, um das Kennwort-Hashwerte statt der Passwörter; das würde hashing nicht anders als das speichern von Passwörter löschen in der Datenbank.
InformationsquelleAutor Cagin Uludamar | 2013-11-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut Hat Sie den Oracle JDBC-client-Kennwort verschlüsseln, wenn Sie eine Verbindung herstellen? es gibt keine Notwendigkeit zur Verwendung eines hash-beim herstellen einer Verbindung. Wenn Sie nur wollen, niemand zu in der Lage sein zu Lesen das Passwort im Klartext dann haben Sie einen Blick auf Verschlüsseln Sie das Kennwort in der Konfiguration-Dateien?.
Orakel-Ansatz am nächsten Verschleierung zu sein scheint Brieftaschen mit "auto-login": Für ein Java-Beispiel zu sehen http://sysapp.wordpress.com/2010/08/31/how-to-oracle-wallet-with-jdbc-thin-driver-datasource-tomcat/. Aber das scheint zu erfordern, dass bestimmte Oracle-Admin-Aktionen: siehe So Erstellen Sie eine Komplette Brieftasche (vielleicht mit dem DBA mehr darüber weiß). Für andere Optionen, um eine Verbindung ohne ein Kennwort in das klare sehen JDBC-Client-Side Security Features.
InformationsquelleAutor halfbit