2010-09-30 4 views
4

Comment utiliser les enregistrements actifs des allumeurs de code pour insérer/mettre à jour/sélectionner des données d'une base de données en utilisant les fonctions de chiffrement/déchiffrement de mysql intégrées? Je sais que je pourrais juste utiliser la requête sql normale, mais je voudrais utiliser les enregistrements actifs idéalement.Code d'allumage MySQL AES avec les enregistrements actifs?

Merci

Répondre

5

Si vous utilisez le code fourni précédemment:

$this->db->set('password',"AES_ENCRYPT('{$data['password']}','my_key')",FALSE); 

vous devriez toujours échapper le mot de passe avant de passer dans db-> mis

utilisation:

$pass = $this->db->escape($data['password']); 

De cette façon, si le mot de passe contient des caractères spéciaux il ne va pas tuer la requête

+0

Belle addition Kris, vaut une upvote dans mon livre s, bienvenue à SO;) –

+0

ta :) J'ai pensé que c'était une bonne idée d'aider quelqu'un ici vu le nombre de fois que j'ai trouvé des solutions à mes problèmes sans même avoir à poser la question. – PottyBert

3

Vous pouvez toujours utiliser AES_ENCRYPT si vous désactivez échapper à cette clause particulière en passant FALSE comme le dernier paramètre:

$pass = $this->db->escape($data['password']); 
$this->db->set('password', "AES_ENCRYPT('{$pass}','my_key')", FALSE); 

également le point que vous l'IC intégré Encryption Class et un article sur la considération 1-way encryption.

Questions connexes