Wie Passwort generieren Salz mit codeigniter
Sorry für die neu in der php-Programmierung, in meinem alten Projekt habe ich mit MD5 verschlüsseln Sie das Kennwort, allerdings ist es nicht sicher genug, und ich fand einige Ressourcen auf dem internet empfehlen die Verwendung von Passwort-Salz statt.
Das problem ist , ich bin mit codeigniter, gibt es eine Helfer/in-Bibliothek für diesen Zweck /wie kann ich änderungen an meiner alten code zu unterstützen die Erzeugung der Passwort-Salz?
Danke für die Hilfe. Ich bin mit PHP 5.2
Und hier ist der alte code zu validieren, während das Benutzerkonto generieren, indem die md5($password);
function validate_credentials() {
$this->load->model('Secure_model');
$username = $this->input->post('username');
$password = md5($this->input->post('password'));
$is_valid = $this->Secure_model->validate('customer', $username, $password);
if ($is_valid) {
$data = array(
'user_id' => $this->get_user_id($username),
'user_name' => $username,
'is_logged_in_user' => true
);
$this->session->set_userdata($data);
redirect('profile');
} else {
$data['message_error'] = TRUE;
$data['main_content'] = 'front/login';
$this->load->view('front/includes/template', $data);
}
}
Ich fand, dass ich brauche, um zu speichern das Salz in die Datenbank, ist das eine tutorial sunnyis.me/blog/sichere-Passwörter apporiate für meine Anforderung? Vielen Dank
Dont speichern das Salz in der Datenbank! Wenn man jemanden um einen dump der DB, erhalten Sie das Salz verwendet. Seine im Grunde das gleiche wie nicht mit jedem Salz.
Vielen Dank für Ihre Antwort,aus diesem tutorial es scheint, ich muss noch nicht mal speichern das Salz. nur die Codierung wie die md5-Aber ist das Salz unruhigen für jeden Datensatz in phppass?
Mit einem einzigartigen salt pro Passwort, ein Angreifer hat, um zu bauen eine rainbow-Tabelle für jedes Passwort, welches keinen Sinn ergibt (brute-forcing ist schneller). So dass der Zweck des Salzes zu verhindern, dass die Verwendung von einem einzigen Regenbogen-Tabelle, um alle Passwörter auf einmal. Was Sie wohl im Sinn haben, ist aufgerufen, ein Pfeffer oder ein Schlüssel. Wenn Sie interessiert sind, können Sie einen Blick auf mein tutorial über sicheren speichern von Kennwörtern.
diesen Teil verstehe ich, das ist die Speicherung der salt in der db, die ich nicht verstehe. Sicher, Wenn es eine andere db. Prüfen Sie Ihre Seite! Vielen Dank,
Dont speichern das Salz in der Datenbank! Wenn man jemanden um einen dump der DB, erhalten Sie das Salz verwendet. Seine im Grunde das gleiche wie nicht mit jedem Salz.
Vielen Dank für Ihre Antwort,aus diesem tutorial es scheint, ich muss noch nicht mal speichern das Salz. nur die Codierung wie die md5-Aber ist das Salz unruhigen für jeden Datensatz in phppass?
Mit einem einzigartigen salt pro Passwort, ein Angreifer hat, um zu bauen eine rainbow-Tabelle für jedes Passwort, welches keinen Sinn ergibt (brute-forcing ist schneller). So dass der Zweck des Salzes zu verhindern, dass die Verwendung von einem einzigen Regenbogen-Tabelle, um alle Passwörter auf einmal. Was Sie wohl im Sinn haben, ist aufgerufen, ein Pfeffer oder ein Schlüssel. Wenn Sie interessiert sind, können Sie einen Blick auf mein tutorial über sicheren speichern von Kennwörtern.
diesen Teil verstehe ich, das ist die Speicherung der salt in der db, die ich nicht verstehe. Sicher, Wenn es eine andere db. Prüfen Sie Ihre Seite! Vielen Dank,
InformationsquelleAutor user782104 | 2014-09-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wirklich stecken mit PHP 5.2 ist Ihre beste Wette wird wahrscheinlich sein, die phpass Bibliothek, da gibt es keine PHP Unterstützung von den BCrypt-Algorithmus.
PHP-Versionen 5.3 und höher haben native Unterstützung für BCrypt, so können Sie die PHP-Funktion password_hash() hash ein Passwort. Es ist ein compatibility pack für Versionen vor 5.5.
In jedem Fall Sie sind richtig bei verwerfen, MD5 und der Wechsel zu einem anderen Algorithmus. Stellen Sie sicher, dass Sie verwenden einen Algorithmus mit einem Kostenfaktor wie BCrypt oder PBKDF2, schnelle algorithmen wie SHA* nicht entsprechenden hash-Passwörter. Das Salzen ist obligatorisch, wenn das Salz kann in der Datenbank gespeichert werden, es erfüllt seinen Zweck, auch wenn es bekannt ist.
InformationsquelleAutor martinstoeckli
look in diesem Teil von meinem code, den ich verwenden, registrieren Sie einen Benutzer:
Den Informationen von salt und Passwort werden gespeichert in Ihrem Benutzer-Tabelle.
Um die Informationen abzurufen, und überprüfen Sie das Kennwort, die Sie dies tun:
InformationsquelleAutor Bak
Hier sind einige einfache Lösungen.
Können Sie
sha*
hash-Funktionen , seien Sie vorsichtig bei der Verwendungmd5
da es einehöhere Kollisionsrate als
sha
,und auch über Ihr problem, mit Salz, es ist ok, wenn Sie nicht Salz Ihr
Passwort, so stellen Sie sicher, dass Ihre Nutzer mit einem sehr guten Passwort mit einer Kombination von
unteren und oberen Fällen und mit zahlen und machen Sie zu langwierig.
Möchte ich Ihnen raten, zu verwenden
bcrypt
aber da Sie mit5.2
es hat einen bug auf, die version und bestimmte Passwort libs wie PHPPASS und PHPLIB Sorgen Nur zu5.3
und oben. Beste Möglichkeit ist ein upgrade auf5.3
so dass Sie verwenden die php-libs, sondern kümmern sich um die volle Achtung der Skripte.InformationsquelleAutor tomexsans
Soweit ich weiß, codeigniter nicht über eine eingebaute Funktion für diese...
Machen einen hash mit PHP müssen Sie
Durch PHP Ihr können eine echte zufällige Salz mithilfe mcrypt_create_iv().
Machen die hash-Werte, die Sie verwenden können, die crypt() oder password_hash, das unterstützt langsame algorithmen, wie
CRYPT_BLOWFISH
. Vergessen md5, oder sha1, Sie sind zu schnell, also mit dem richtigen Werkzeug ist es möglich, um herauszufinden, Passwörter gehasht.Den
password_hash()
Funktion erzeugen kann, die eine echte zufällige Salz automatisch, so dass Sie nicht haben, generieren Sie manuell, wenn Sie nicht wollen. Das Salz wird angehängt werden, um den hash.Leider PHP 5.2 nicht
CRYPT_BLOWFISH
- Unterstützung. So verwenden Sie die PHPASS lib.Ist es möglich zu speichern, dass Salz? Was ist, wenn ich will, migrieren auf einen anderen server, sind die Salze verloren? Machen Sie von der Umgebung abhängig sind?
Der resultierende hash-Wert wird das Salz im Klartext, das ist der übliche Weg, um das Salz. Die Funktion password_verify() extrahieren wird das Salz aus diesem hash. Ich versuchte zu erklären, dieses format in einem anderen Antwort.
Danke! Ich wusste es nicht, ich habe immer gespeichert, das Salz in einer separaten Spalte.
InformationsquelleAutor inf3rno