2048, 'private_key_type' => OPENSSL_KEYTYPE_RSA]); openssl_pkey_export($privateKeyobject, $privateKey); $keyDetails = openssl_pkey_get_details($privateKeyobject); $publicKey = $keyDetails['key']; //$privateKey muss noch symetrisch mit $password verschlüsselt werden $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-128-cbc')); $encryptedPrivateKey = openssl_encrypt($privateKey, 'aes-128-cbc', $password, 0, $iv); $encryptedPrivateKeyBase64 = base64_encode($encryptedPrivateKey); $ivBase64 = base64_encode($iv); //FLUSH EVERYTHING IN DATABASE NOW!!!! global $dbservername; global $dbusername; global $dbpassword; global $dbname; $conn = new mysqli($dbservername, $dbusername, $dbpassword, $dbname); if ($conn->connect_error) { die("Server Error"); } $sql = "INSERT INTO smz_messages_users (uid, username, publicKey, privateKey, iv) VALUES ('$uid', '$username', '$publicKey', '$encryptedPrivateKeyBase64', '$ivBase64')"; if ($conn->query($sql) === TRUE) { echo "
Nun legen Sie Ihren persönlichen Benutzernamen für Messages an. Andere Benutzer sehen Sie mit diesem Namen.
Er muss einmalig sein.
Es sind nur Kleinbuchstaben und Zahlen zugelassen und der Nutzername muss mindestens vier Zeichen lang sein.