Ich bin auf der Suche nach einigen Funktionen zum Verschlüsseln und Entschlüsseln von Strings in PHP mit einem Schlüssel angegeben.Verschlüsseln und entschlüsseln String mit Schlüssel PHP
Danke!
Ich bin auf der Suche nach einigen Funktionen zum Verschlüsseln und Entschlüsseln von Strings in PHP mit einem Schlüssel angegeben.Verschlüsseln und entschlüsseln String mit Schlüssel PHP
Danke!
beginnen mit diesem: http://www.ibm.com/developerworks/opensource/library/os-php-encrypt/
Danach haben Sie einen Blick auf Pascal MARTIN Antwort in How do I encrypt a string in PHP?
Eine grundlegende OpenSSL-Implementierung ich verwendet habe vor:
class MyEncryption
{
public $pubkey = '...public key here...';
public $privkey = '...private key here...';
public function encrypt($data)
{
if (openssl_public_encrypt($data, $encrypted, $this->pubkey))
$data = base64_encode($encrypted);
else
throw new Exception('Unable to encrypt data. Perhaps it is bigger than the key size?');
return $data;
}
public function decrypt($data)
{
if (openssl_private_decrypt(base64_decode($data), $decrypted, $this->privkey))
$data = $decrypted;
else
$data = '';
return $data;
}
}
Sie benötigen würde Generieren Sie das RSA-Schlüsselpaar. See here for information wie man das macht. Das Speichern des privaten Schlüssels in der Datei selbst ist eine schlechte Idee. Dies ist nur ein Beispiel. Idealerweise möchten Sie, dass der Benutzer den privaten Schlüssel zur Entschlüsselungszeit zur Verfügung stellt.
Ich nehme an, Sie haben die Verschlüsselung mit symmetrischen Schlüsseln gemeint. mcrypt unterstützt mehrere Algorithmen (wie AES, Tripel DES). Es gibt jedoch einen Haken: Es unterstützt keinen Füllalgorithmus, so dass Sie die ursprüngliche Länge nicht wiederherstellen können. Sie haben 2 Optionen, um dieses Problem zu umgehen,
Fügen Sie ein Längenfeld vor Ihrem Klartext hinzu. Sagen wir zuerst 4 Bytes als Länge.
Machen Sie PKCS # 5 auffüllen. Auf dieser Seite finden Sie Codebeispiele: http://www.php.net/manual/en/function.mcrypt-encrypt.php
Haben Sie einen bestimmten Verschlüsselungsstil? – EAMann
Diese Frage ist zu allgemein. Suche stackoverflow oder google, um den Einstieg in PHP/Encryption zu finden. – labratmatt