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

MS SQL Server Discussion :

Obtenir un VARCHAR(40) à partir d'un HASHBYTES SHA1


Sujet :

MS SQL Server

  1. #1
    Membre actif Avatar de gderenne
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2007
    Messages : 250
    Points : 281
    Points
    281
    Par défaut Obtenir un VARCHAR(40) à partir d'un HASHBYTES SHA1
    Bonjour à tous,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT HASHBYTES('SHA1', 'blabla')
    Le résultat donne :
    VARBINARY -> 0xBB21158C733229347BD4E681891E213D94C685BE

    Si je convertis le résultat avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CAST(HASHBYTES('SHA1', 'blabla') AS CHAR(40))
    ce la donne :
    VARCHAR -> »!Œs2)4{Ôæ‰!=”Æ…¾
    En effet, la conversion à l'air de transformer les octets en caractères.

    Il me faudrait :
    VARCHAR -> BB21158C733229347BD4E681891E213D94C685BE
    Notez le 0x en moins au début.

    Merci à vous

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 141
    Points : 176
    Points
    176
    Par défaut
    Vous pouvez utiliser les fonctions suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    master.dbo.fn_varbintohexsubstring(1,@binvalue,1,0)
     
    master.dbo.fn_varbintohexstr(@binvalue)
    Remplacez @binvalue par votre variable contenant la donnée de type varbinary

  3. #3
    Membre actif Avatar de gderenne
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2007
    Messages : 250
    Points : 281
    Points
    281
    Par défaut
    Merci pour votre réponse.

    Donc, voici la solution complete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT SUBSTRING(master.dbo.fn_varbintohexstr(HASHBYTES('SHA1', 'blabla)), 3, 40)

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 141
    Points : 176
    Points
    176
    Par défaut
    Parfait

    Si c'est en ordre, n'oubliez pas le tag "Résolu"

  5. #5
    Membre actif Avatar de gderenne
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2007
    Messages : 250
    Points : 281
    Points
    281
    Par défaut
    Citation Envoyé par Fabrice Moll
    et en y ajoutant 'master.dbo.fn_...' ?

    Je me demande si 'master.sys.fn_...' ne fonctionne pas également.
    Oui, j'avais mal tapé au début alors j'avais raccourci pour tester...
    Rien de mieux que le Copier/Coller

    Merci pour votre réponse.

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

Discussions similaires

  1. [VB.NET][MySQL]Obtenir une string a partir d'un SELECT !
    Par Nofrag dans le forum Accès aux données
    Réponses: 3
    Dernier message: 14/01/2007, 20h54
  2. Réponses: 7
    Dernier message: 09/01/2007, 08h44
  3. Réponses: 2
    Dernier message: 24/08/2006, 11h02
  4. Obtenir le MCD a partir d'une BDD Oracle, possible?
    Par dipajero dans le forum Designer
    Réponses: 7
    Dernier message: 06/01/2006, 20h48
  5. [VB.NET] Obtenir un Char a partir de son ASCII Decimal ...
    Par maitrebn dans le forum Windows Forms
    Réponses: 8
    Dernier message: 09/09/2004, 14h49

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