2017-03-10 4 views
1

Der Befehl "openssl passwd -1" verwendet MD5-based BSD Kennwortalgorithmus 1, um einen Zeichenfolge-Hash zu berechnen.Implementieren von "openssl passwd -1" in PHP

Beispiel:

openssl passwd -1 
$1$./j/us.N$P2tq6IkO0Zu2d3uqkEHpv. 

Wie implementiere ich genau die gleiche Funktionalität in PHP? Ich möchte, dass es eine native PHP-Funktion ist, anstatt etwas von exec/shell_exec zurückzugeben.

+0

Ist [Passwort-Hash] (http://php.net/manual/en/function.password-hash.php) nicht gut genug/besser? –

+0

http://php.net/manual/en/function.md5.php dient es? –

Antwort

-1

Beispielcode

<?php 
define('KEY', 'scret key'); 

function encrypt($value) 
{ 
    $iv = openssl_random_pseudo_bytes(16); 
    $encrypt = openssl_encrypt($value, 'AES-128-CBC', KEY, 0, $iv);  
    return base64_encode($encrypt . ':::' . $iv); 
} 

function decrypt($data) 
{ 
    $data = base64_decode($data); 
    list($data, $iv) = explode(':::', $data);  
    return openssl_decrypt($data, 'AES-128-CBC', KEY, 0, $iv); 
} 


$enc = encrypt('password'); 

echo decrypt($enc); 
+0

Die Frage ist für einen Hash-Algorithmus, dies ist eine Verschlüsselung. Wenn es entschlüsselt werden kann, wird es nicht hashing. –