Yii verschlüsseln und entschlüsseln Passwort

Ich bin mit Yii CSecurityManager für die Passwort-Verschlüsselung:

$this->securityManager->encrypt('TEST', '1');

*der TEST ist der string zum verschlüsseln und 1 ist der Schlüssel.

aber wenn ich testen bevor ich Sie entschlüsseln, finde ich, dass sich der Wert ständig ändert.

for ($index = 0; $index < 10; $index++) {
        $EncPassword = $this->securityManager->encrypt('TEST', '1');
        echo $EncPassword;
    }

ich verlasse mich auf diesen Wert in einem anderen Teil meiner Bewerbung...ich grub in die Kennwort verschlüsseln sehe ich, dass es in der Tat zufällig:

public function encrypt($data,$key=null)
{
    $module=$this->openCryptModule();
    $key=$this->substr($key===null ? md5($this->getEncryptionKey()) : $key,0,mcrypt_enc_get_key_size($module));
    srand();
    $iv=mcrypt_create_iv(mcrypt_enc_get_iv_size($module), MCRYPT_RAND);
    mcrypt_generic_init($module,$key,$iv);
    $encrypted=$iv.mcrypt_generic($module,$data);
    mcrypt_generic_deinit($module);
    mcrypt_module_close($module);
    return $encrypted;
}

also meine Frage ist wie kann ich verschlüsseln, basiert auf einem Schlüssel und erhalten den gleichen Wert jedes mal?

Dank,
Danny

  • Warum willst du Passwörter verschlüsseln?
  • es ist ein Teil meiner app...es ist nicht nur das Passwort und ich brauche diese Funktionalität
  • Aber warum? Es macht keinen Sinn, auch wenn Sie zum verschlüsseln der Daten gibt es keine Notwendigkeit für Sie zu erzeugen die gleiche Ausgabe jedes mal. Und sollten Kennwörter nicht verschlüsselt werden, Sie sollten zerlegt werden.
Schreibe einen Kommentar