Position actuelle: Accueil> Derniers articles> Explication détaillée de la technologie de chiffrement et de décryptage des données dans la connexion de la base de données PHP

Explication détaillée de la technologie de chiffrement et de décryptage des données dans la connexion de la base de données PHP

M66 2025-06-19

Explication détaillée de la technologie de chiffrement et de décryptage des données dans la connexion de la base de données PHP

Avec le développement d'Internet, les bases de données sont devenues l'outil de base pour stocker et gérer des informations sensibles. Dans les applications PHP, il est souvent nécessaire de stocker des données sensibles telles que les mots de passe utilisateur, les informations de carte de crédit, etc. dans une base de données. Par conséquent, les technologies de chiffrement et de décryptage des données sont cruciales pour assurer la sécurité des bases de données.

Chiffrement des données

PHP fournit une variété d'algorithmes de chiffrement, tels que AES (Advanced Encryption Standard) et RSA (Rivest-Shamir-Adleman). Dans les connexions de la base de données, l'algorithme AES est généralement utilisé pour chiffrer les données sensibles. Voici un exemple montrant comment chiffrer les données à l'aide de l'algorithme AES:

<?php
// Fonctions de chiffrement
function encrypt($data, $key) {
    $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));
    $encrypted = openssl_encrypt($data, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
    return base64_encode($encrypted . '::' . $iv);
}
?>

Ensuite, nous pouvons utiliser l'APD pour établir une connexion à la base de données et stocker les données cryptées:

<?php
// Connexion de base de données
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$key = "your_encryption_key";

try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
    $conn-> setAttribute (PDO :: att_errMode, PDO :: errMode_Exception);

    // les données à crypter $ data = "sensitive_info";

    // Données chiffrées $ encryptedData = Encrypt ($ data, $ key);

    // Stockage des données cryptées dans la base de données $ SQL = "INSERT INTO TABLE (ECRYPTED_DATA) VALEURS (&#39;$ EncryptedData&#39;)";
    $ Conn-> exec ($ sql);

    écho "Les données cryptées et stockées avec succès";
} catch (pDoException $ e) {
    Echo "Erreur:". $ e-> getMessage ();
}

$ conn = null;
?>

Décryptage des données

Lorsqu'il est nécessaire de récupérer les données cryptées de la base de données, la technologie de décryptage est utilisée pour la restauration des données. Voici un exemple montrant comment décrypter les données à l'aide de l'algorithme AES:

<?php
// Fonction de décryptage
function decrypt($data, $key) {
    list($encryptedData, $iv) = explode('::', base64_decode($data), 2);
    return openssl_decrypt($encryptedData, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
}
?>

Le code suivant montre comment obtenir des données cryptées de la base de données et les décrypter:

<?php
// Connexion de base de données
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$key = "your_encryption_key";

try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
    $conn-> setAttribute (PDO :: att_errMode, PDO :: errMode_Exception);

    // Récupérez les données cryptées de la base de données $ sql = "Sélectionnez crypted_data dans la table";
    $ stmt = $ con-> query ($ sql);
    $ result = $ stmt-> fetch ();

    // Decrypt Data $ decryptedData = Decrypt ($ Result [&#39;Encrypted_data&#39;], $ key);

    Echo "Données décryptées:". $ decryptedData;
} catch (pDoException $ e) {
    Echo "Erreur:". $ e-> getMessage ();
}

$ conn = null;
?>

Résumer

En utilisant des technologies de chiffrement et de décryptage dans PHP, la sécurité des données sensibles dans la base de données peut être efficacement améliorée. Le chiffrement et le décryptage de l'algorithme AES protègent non seulement la confidentialité des données, mais empêche également la fuite potentielle des données. Il convient de noter qu'il est également crucial de protéger la sécurité de la clé de chiffrement, de sorte que des mesures appropriées doivent être prises pour empêcher la divulgation de la clé.

Cet article présente comment implémenter la technologie de chiffrement et de décryptage des données dans PHP, en particulier dans les applications de connexion à la base de données. J'espère qu'il peut fournir une référence à votre travail de développement.