2010-09-24 5 views
2

Je configure un serveur de messagerie et je suis mysql pour la table des mots de passe. Actuellement, il est sécurisé à l'aide de la fonction ENCRYPT(), mais j'ai un grand volume que je voudrais importer où les mots de passe sont tous en texte brut. Est-il possible de les importer en tant que texte brut, puis d'exécuter une requête pour exécuter ENCRYPT() sur toute la colonne et de tout mettre à jour?Comment puis-je chiffrer une colonne entière

Répondre

3

Vous pouvez le faire avec une simple mise à jour:

UPDATE your_table SET password_col = ENCRYPT(password_col,'some salt') 

Ou, si vous utilisez LOAD DATA INFILE pour remplir la table, vous pouvez crypter les mots de passe alors:

LOAD DATA INFILE '/tmp/data.csv' INTO TABLE your_table 
(col1,...,@password,...,coln) 
set password_col = ENCRYPT(@password,'some salt') 
+0

remercie un groupe, que travaillé :) – Jonathan