chri.s

PHP7.2 Übersetzung mcrypt Funktionen auf libsodium

Schönen guten Sonntag,

ich bin gerade dabei die aktuelle PHP7.2 zu testen, dabei fiel mir auf, dass mcrypt nun final aus PHP gestrichen wurde.

Nun suche ich einen Ersatz für folgende Funktion aus der Sugar Doku:

   'password' => bin2hex(mcrypt_cbc(MCRYPT_3DES, $ldap_enc_key, $password, MCRYPT_ENCRYPT, 'password')),  

Nach aktuellem Informationsstand soll Sodium mcrypt beerben, allerdings finde ich derzeit keine Möglichkeit die Funktionen ordentlich mit sodium abzubilden.

Hat jemand dazu auf die Schnelle eine Idee - ist libsodium überhaupt der richtige Weg? (ich möchte dem PHP7.2 ungerne die veraltete Funktion wieder beibringen und das Problem nur in die Zukunft verschieben).

Chris
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 369230

Url: https://administrator.de/forum/php7-2-uebersetzung-mcrypt-funktionen-auf-libsodium-369230.html

Ausgedruckt am: 17.05.2025 um 03:05 Uhr

StefanKittel
StefanKittel 25.03.2018 um 15:15:00 Uhr
Goto Top
Hallo,

Dein Stichwort lautet "openssl_encrypt".
Z.B. so wie hier.
https://github.com/simplesamlphp/simplesamlphp/issues/228

Ich nutze EAS für die Verschlüsselung und RSA um das Kennwort mit PKI zu übertragen.

Stefan
StefanKittel
StefanKittel 25.03.2018 um 15:49:45 Uhr
Goto Top
Hier noch ein Nachtrag zum Vergleich von libsodium und openssl
https://en.wikipedia.org/wiki/Comparison_of_cryptography_libraries

Muss jeder selber wissen was für sein projekt besser ist.
Ich habe fertige Klassen für openssl also nutze ich die weiter.

Stefan
EvilMoe
EvilMoe 25.03.2018 aktualisiert um 22:17:06 Uhr
Goto Top
Hallo,

Um ein Passwort zu verschlüsseln sollte ARGON2 verwendet werden, was ab PHP 7.2 festen Bestandteil ist, ohne externen Bibiotheken.

$options = [
			'memory_cost' 	=> 1024 ,							  
			'time_cost' 	=> 2,	  
			'threads'		=> PASSWORD_ARGON2_DEFAULT_THREADS  
		];
		

		$password= password_hash("DEIN PASSWORT", PASSWORD_ARGON2I, $options);  
chri.s
chri.s 25.03.2018 um 23:41:04 Uhr
Goto Top
Hallo,

danke euch beiden.

Argon2 hatte ich so noch gar nicht auf dem Schirm, wie müsste die oben genannte Funktionen denn aussehen, um das gleiche Resultat zu erzielen - Die Hashes sollen schliesslich gegen die in der CRM hinterlegten abgeglichen werden.

Chris
EvilMoe
EvilMoe 26.03.2018 um 18:21:33 Uhr
Goto Top
Du kannst den Hash wie ich es oben geschrieben habe speichern.

Zum vergleichen kannst du die Funktion "hash_equals " verwenden.