IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Problème de cryptage SHA1 entre c# et SQL


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 73
    Par défaut Problème de cryptage SHA1 entre c# et SQL
    Bonsoir à tous,

    je suis sur une méthode qui récupère des infos une fois que les identifiants de connexion sont corrects.

    Je rencontre un problème de comparaison (à mon avis) entre le cryptage fait par c# lors de la récupération des infos et le cryptage fait par SQL lors de la création des identifiants de connexion

    voici mon code :

    SQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    CREATE FUNCTION CryptagePasse (@mdp typeSmallString)
    RETURNS hasString
    AS
    	BEGIN
    		declare @hash nvarchar(4000);
    		declare @HashThis nvarchar(4000);
    		SELECT @HashThis = CONVERT(nvarchar(4000),@mdp);
    		SELECT @hash = HASHBYTES('SHA1', @HashThis);
     
    		RETURN @hash;
    	END
    GO
    C#

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
            public Carnet ConnexionCarnet(string login, string mdp)
            {
                byte[] hashMdp = System.Text.Encoding.ASCII.GetBytes(mdp);
                SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
                string hash = BitConverter.ToString(sha.ComputeHash(hashMdp)).Replace("-", ""); 
                IQueryable<Carnet> c = from x in DbCarnet.Carnets
                           where ((x.lLogin == login)&&(x.lMdp== hash))
                           select x;
                if (c != null)
                    return c.ToList()[0];
                else
                    return null;
            }
    je pense que c ne sera jamais null dans ce cas la mais la n'est pas le problème.

    J'ai fait un test en supprimant la partie du code qui concerne le mdp :

    et à ce moment la, ça fonctionne.

    malgré que ce soit la même méthode de cryptage (SHA1), il y a un problème de comparaison que je n' arrive pas à résoudre ...

    Si quelqu un peut me mettre sur la voie je suis preneur

    merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 73
    Par défaut
    Après plusieurs test je me suis aperçu que le SHA1 coté c# était conforme.

    je me suis penché sur la fonction SQL et en remplaçant nvarchar(4000) par varchar(40) tout fonctionne à merveille

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de flottant entre delphi et sql server
    Par zanoubya dans le forum Débuter
    Réponses: 6
    Dernier message: 02/06/2010, 11h36
  2. Problème de compilation entre package PL/SQL
    Par sarichard75017 dans le forum PL/SQL
    Réponses: 2
    Dernier message: 19/06/2009, 09h44
  3. [WD12] probléme de date entre WD12 et SQL server 2005
    Par Bassemca dans le forum WinDev
    Réponses: 5
    Dernier message: 19/12/2008, 21h27
  4. probléme entrée interface microsoft sql server 2005
    Par ess2007 dans le forum Administration
    Réponses: 2
    Dernier message: 01/07/2008, 17h03
  5. Problème de format entre Windev et SQl Server
    Par rphenix dans le forum WinDev
    Réponses: 7
    Dernier message: 20/06/2007, 09h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo