Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

MD5

3 réponses
Avatar
christophe
Bonjour,

j'ai encodé une cle en MD5 de ce style.
SELECT HashBytes('MD5', CAST(MY_CLE AS VARCHAR(50)))
from matable

voici le un exemple de resultat
0x81DC9BDB52D04DC20036DBD8313ED055

j'envoi ca en export dans un fichier pour un client déjà une remarque le 0x
du départ à disparu
j'ai fait l'export via management studio en passant la requete du dessus en
export.

deuxieme remarque quand je remonte le fichier retour sur lequel j'ai ce
codage je le stocke en texte ou .
et la meme si je rajoute le 0x ca ne matche plus avec l'original.
car un cast en varchar() du varbinary donne pas du tout le meme resultat :(

hors en cherchant, ça à plutot l'air de coller quand je converti le en
bigint ou int d'ailleurs aussi
exemple

SELECT *
from matable
where cast(HashBytes('MD5', CAST(MY_CLE AS VARCHAR(50))) as bigint) =
cast(0x81DC9BDB52D04DC20036DBD8313ED055 as bigint)


ma question est-ce que la conversion du varbinary généré par le codage MD5
n'est pas tronqué si je le reconvertie en bigint ?

ou alors quelle serait la methode pour recuperer mes cles et pouvoir les
comparer avec celle en base sachant qu'en base c'est du varbinary ?.

3 réponses

Avatar
Patrice
Je ferais (non testé) :

SELECT *
from matable
where HashBytes('MD5', CAST(MY_CLE AS VARCHAR(50))) as bigint) =
0x81DC9BDB52D04DC20036DBD8313ED055

--
Patrice

"christophe" a écrit dans le message de news:

Bonjour,

j'ai encodé une cle en MD5 de ce style.
SELECT HashBytes('MD5', CAST(MY_CLE AS VARCHAR(50)))
from matable

voici le un exemple de resultat
0x81DC9BDB52D04DC20036DBD8313ED055

j'envoi ca en export dans un fichier pour un client déjà une remarque le
0x du départ à disparu
j'ai fait l'export via management studio en passant la requete du dessus
en export.

deuxieme remarque quand je remonte le fichier retour sur lequel j'ai ce
codage je le stocke en texte ou .
et la meme si je rajoute le 0x ca ne matche plus avec l'original.
car un cast en varchar() du varbinary donne pas du tout le meme resultat
:(

hors en cherchant, ça à plutot l'air de coller quand je converti le en
bigint ou int d'ailleurs aussi
exemple

SELECT *
from matable
where cast(HashBytes('MD5', CAST(MY_CLE AS VARCHAR(50))) as bigint) =
cast(0x81DC9BDB52D04DC20036DBD8313ED055 as bigint)


ma question est-ce que la conversion du varbinary généré par le codage MD5
n'est pas tronqué si je le reconvertie en bigint ?

ou alors quelle serait la methode pour recuperer mes cles et pouvoir les
comparer avec celle en base sachant qu'en base c'est du varbinary ?.








Avatar
Patrice
Au temps pour moi :

SELECT *
from matable
where HashBytes('MD5', CAST(MY_CLE AS VARCHAR(50)) 0x81DC9BDB52D04DC20036DBD8313ED055

--
Patrice

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%23thK9l$
Je ferais (non testé) :

SELECT *
from matable
where HashBytes('MD5', CAST(MY_CLE AS VARCHAR(50))) as bigint) =
0x81DC9BDB52D04DC20036DBD8313ED055

--
Patrice

"christophe" a écrit dans le message de news:

Bonjour,

j'ai encodé une cle en MD5 de ce style.
SELECT HashBytes('MD5', CAST(MY_CLE AS VARCHAR(50)))
from matable

voici le un exemple de resultat
0x81DC9BDB52D04DC20036DBD8313ED055

j'envoi ca en export dans un fichier pour un client déjà une remarque le
0x du départ à disparu
j'ai fait l'export via management studio en passant la requete du dessus
en export.

deuxieme remarque quand je remonte le fichier retour sur lequel j'ai ce
codage je le stocke en texte ou .
et la meme si je rajoute le 0x ca ne matche plus avec l'original.
car un cast en varchar() du varbinary donne pas du tout le meme resultat
:(

hors en cherchant, ça à plutot l'air de coller quand je converti le en
bigint ou int d'ailleurs aussi
exemple

SELECT *
from matable
where cast(HashBytes('MD5', CAST(MY_CLE AS VARCHAR(50))) as bigint) =
cast(0x81DC9BDB52D04DC20036DBD8313ED055 as bigint)


ma question est-ce que la conversion du varbinary généré par le codage
MD5 n'est pas tronqué si je le reconvertie en bigint ?

ou alors quelle serait la methode pour recuperer mes cles et pouvoir les
comparer avec celle en base sachant qu'en base c'est du varbinary ?.












Avatar
christophe
effectivement ton cas fonctionne,

toutefois j'ai le retour dans un fichier TXT donc comment faire la
comparaison
que tu annonce sans conversion qui du coup risque de denaturer le typage ?

en gros comment faire cette comparaison
select t1.*
from matable as T1, matable_demonfichier_retour as T2
where t1.dedup_md5 = t2.colonne_recup




----- Original Message -----
From: "Patrice" <http://www.chez.com/scribe/>
Newsgroups: microsoft.public.fr.sqlserver
Sent: Thursday, January 31, 2008 12:16 PM
Subject: Re: MD5


Au temps pour moi :

SELECT *
from matable
where HashBytes('MD5', CAST(MY_CLE AS VARCHAR(50)) > 0x81DC9BDB52D04DC20036DBD8313ED055

--
Patrice

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%23thK9l$
Je ferais (non testé) :

SELECT *
from matable
where HashBytes('MD5', CAST(MY_CLE AS VARCHAR(50))) as bigint) =
0x81DC9BDB52D04DC20036DBD8313ED055

--
Patrice

"christophe" a écrit dans le message de
news:
Bonjour,

j'ai encodé une cle en MD5 de ce style.
SELECT HashBytes('MD5', CAST(MY_CLE AS VARCHAR(50)))
from matable

voici le un exemple de resultat
0x81DC9BDB52D04DC20036DBD8313ED055

j'envoi ca en export dans un fichier pour un client déjà une remarque le
0x du départ à disparu
j'ai fait l'export via management studio en passant la requete du dessus
en export.

deuxieme remarque quand je remonte le fichier retour sur lequel j'ai ce
codage je le stocke en texte ou .
et la meme si je rajoute le 0x ca ne matche plus avec l'original.
car un cast en varchar() du varbinary donne pas du tout le meme resultat
:(

hors en cherchant, ça à plutot l'air de coller quand je converti le en
bigint ou int d'ailleurs aussi
exemple

SELECT *
from matable
where cast(HashBytes('MD5', CAST(MY_CLE AS VARCHAR(50))) as bigint) =
cast(0x81DC9BDB52D04DC20036DBD8313ED055 as bigint)


ma question est-ce que la conversion du varbinary généré par le codage
MD5 n'est pas tronqué si je le reconvertie en bigint ?

ou alors quelle serait la methode pour recuperer mes cles et pouvoir les
comparer avec celle en base sachant qu'en base c'est du varbinary ?.