chri.s
Goto Top

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

Content-Key: 369230

Url: https://administrator.de/contentid/369230

Printed on: April 25, 2024 at 14:04 o'clock

Member: StefanKittel
StefanKittel Mar 25, 2018 at 13:15:00 (UTC)
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
Member: StefanKittel
StefanKittel Mar 25, 2018 at 13:49:45 (UTC)
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
Member: EvilMoe
EvilMoe Mar 25, 2018 updated at 20:17:06 (UTC)
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);  
Member: chri.s
chri.s Mar 25, 2018 at 21:41:04 (UTC)
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
Member: EvilMoe
EvilMoe Mar 26, 2018 at 16:21:33 (UTC)
Goto Top
Du kannst den Hash wie ich es oben geschrieben habe speichern.

Zum vergleichen kannst du die Funktion "hash_equals " verwenden.