2009-05-22 6 views
1

Dans mon application, j'envoie un mot de passe à la base de données, disons que mon mot de passe est PassworD123. Maintenant, cela me donne la bonne valeur, mais quand j'utilise password123 .. il me donne aussi la bonne valeur.Alors, comment chacher pour les données sensibles à la casse dans le serveur SQL. Tout code de démo aidera. Merci.Comment vérifier le mot de passe sensible à la casse dans sql server08

Répondre

2

Vous pouvez utiliser la clause COLLATE dans votre instruction T-SQL.

Ex.

SELECT * FROM dbo.TableName WHERE Password = @ password COLLATE SQL_Latin1_General_CP1_CS_AS 
+0

Espérons qu'ils utilisent le classement "Latin1_General_BIN" dans leur solution actuelle et non un classement SQL hérité ... – gbn

5

Pourquoi ne pas utiliser le chiffrement pour stocker les mots de passe dans la base de données tels que md5 parce qu'ils retourneront différentes versions hachées par exemple

Md5 de password123 = 482c811da5d5b4bc6d497ffa98491e38

Md5 de password123 = bbac8ba35cdef1b1e6c40f82ff8002ea

et lorsque vous les comparez, ils sont clairement différents.

Je pense que vous utilisez ASP donc je ne sais pas s'il a une fonction md5() intégrée mais php l'a. Une autre chose que vous devez savoir est que si vous stockez des mots de passe dans une base de données de son mieux pour les stocker en utilisant une sorte de cryptage qui ne peut pas être inversée

+0

Merci.Bon point. – Wondering

+0

Je vous encourage fortement à lire le lien que j'ai posté dans ma réponse. "MD5" n'est plus une réponse acceptable. – TML

+0

^Je suis d'accord, donc je suggère seulement ce qui précède pour un exemple juste pour obtenir une image claire: D –

Questions connexes