Sto cercando alcune funzioni per crittografare e decodificare le stringhe in php utilizzando una chiave specificata.Cifra e decrittografa la stringa con la chiave PHP
Grazie!
Sto cercando alcune funzioni per crittografare e decodificare le stringhe in php utilizzando una chiave specificata.Cifra e decrittografa la stringa con la chiave PHP
Grazie!
iniziare con questo: http://www.ibm.com/developerworks/opensource/library/os-php-encrypt/
Dopo di che, hanno uno sguardo al risposta di Pascal MARTIN nel How do I encrypt a string in PHP?
Un'implementazione di base openssl ho usato prima:
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;
}
}
Si avrebbe bisogno di generare la coppia di chiavi RSA. See here for information su come farlo. Memorizzare la chiave privata nel file stesso è una cattiva idea. Questo è solo un esempio. Idealmente vorrai che l'utente fornisca la chiave privata al momento della decodifica
Suppongo che tu intendessi la crittografia a chiave simmetrica. mcrypt supporta diversi algoritmi (come AES, DES di Tripel). C'è un problema, ma non supporta alcun algoritmo di padding in modo da non essere in grado di recuperare la lunghezza originale. Hai 2 opzioni per ovviare a questo problema,
Aggiungi un campo lunghezza davanti al testo in chiaro. Di 'usa i primi 4 byte come lunghezza.
Fare da soli PKCS # 5. Ci sono esempi di codice in questa pagina: http://www.php.net/manual/en/function.mcrypt-encrypt.php
Hai in mente uno stile specifico di crittografia? – EAMann
Questa domanda è troppo generica. Cerca stackoverflow o google per ottenere un argomento sull'argomento PHP/Encryption. – labratmatt