2008-11-14 7 views
0

J'utilise actuellement Oracle 10g. J'utilise DBMS_CRYPTO package pour crypter les mots de passe des utilisateurs pour la connexion. Pour chiffrer ou déchiffrer les données, je dois avoir une clé. Alors, où dois-je mettre la clé afin de la cacher à d'autres développeurs, ou y a-t-il un autre moyen de chiffrer les données sans pouvoir les déchiffrer?Utiliser DBMS_CRYPTO pour crypter des données

Dans SQL Server, j'utilise simplement la fonction PWDENCRYPT pour crypter, et lorsque je veux comparer les données entrées par les utilisateurs correctes ou non, j'utilise PWDCOMPARE. Pls conseil. Je vous remercie.

Répondre

3

Pour masquer la clé d'autres développeurs, espérons que cet article sera utile, il comprend une section sur la gestion des clés:

http://www.oracle.com/technology/oramag/oracle/05-jan/o15security.html

Pour crypter des données sans être en mesure de le déchiffrer en arrière, vous voudrez peut-être pour regarder dans one way hashes. Oracle fournit ce sous la forme d'DBMS_CRYPTO.HASH, qui est simple à utiliser (comme discuté here):

SQL> select SYS.DBMS_CRYPTO.HASH('FFFFFF',1) from dual; 
7D91F6D9BE28A9756B0D2F11D3AF4F0C 

Vous pouvez ensuite stocker seulement le hachage dans la base de données - vous pouvez vérifier le mot de passe si hachant l'entrée utilisateur correspond votre hash stocké, mais vous ne pouvez en aucun cas récupérer le mot de passe.

Questions connexes