Je recherche un algorithme VB de hash ne faisant pas appel à des resources
externes (sinon j'aurais pu prendre un MD5 ou un SHA1) et qui retourne une
chaine significative (numérique de préférence) "unique". Le point de départ
étant une chaîne de caractères
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Marc
"Thierry Dymon" a écrit dans le message de news:
Bonjour,
Je recherche un algorithme VB de hash ne faisant pas appel à des resources externes (sinon j'aurais pu prendre un MD5 ou un SHA1) et qui retourne une chaine significative (numérique de préférence) "unique". Le point de
départ
étant une chaîne de caractères
C'est le critère d'unicité qui rend les choses très compliquées. Je ne connais pas d'algorithmes simples et fiables. Pour information, même MD5 a été "cassé": on a su exhiber 2 chaînes de caractères différentes présentant le même hash MD5. Bien sur, les chaînes en question ont été trouvées mathématiquement. La probabilité d'obtenir une collision MD5 sur des chaines "quelquonques" reste si faible que le MD5 est toujours considéré comme fiable.
Bref, pourquoi pas MD5 (voire MD4) ou SHA1 ? Y at'il une raison particulière? Et pas besoin de ressources externes: MD5 comme SHA1 sont décrits et tu peux les implémenter toi même, sans besoin d'une librairie externe. Les RFC sont la pour ça:
Les algorithmes sont parfaitement décrits, les implémenter est un bon exercice de traduction. Je ne prétend cependant pas qu'en faire une implémentation efficace soit une tâche aisée. Cependant, si tu le fais en VB, tu ne recherches de toute façon pas des performances extrèmes donc c'est très faisable, amha.
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
"Thierry Dymon" <alphacen.spam.abuse@club-internet.fr> a écrit dans le
message de news:ezQKnyW2EHA.1452@TK2MSFTNGP11.phx.gbl...
Bonjour,
Je recherche un algorithme VB de hash ne faisant pas appel à des resources
externes (sinon j'aurais pu prendre un MD5 ou un SHA1) et qui retourne une
chaine significative (numérique de préférence) "unique". Le point de
départ
étant une chaîne de caractères
C'est le critère d'unicité qui rend les choses très compliquées. Je ne
connais pas d'algorithmes simples et fiables. Pour information, même
MD5 a été "cassé": on a su exhiber 2 chaînes de caractères différentes
présentant le même hash MD5. Bien sur, les chaînes en question ont été
trouvées mathématiquement. La probabilité d'obtenir une collision MD5
sur des chaines "quelquonques" reste si faible que le MD5 est toujours
considéré comme fiable.
Bref, pourquoi pas MD5 (voire MD4) ou SHA1 ? Y at'il une raison
particulière? Et pas besoin de ressources externes: MD5 comme SHA1 sont
décrits et tu peux les implémenter toi même, sans besoin d'une
librairie externe. Les RFC sont la pour ça:
Les algorithmes sont parfaitement décrits, les implémenter est un bon
exercice de traduction. Je ne prétend cependant pas qu'en faire une
implémentation efficace soit une tâche aisée. Cependant, si tu le
fais en VB, tu ne recherches de toute façon pas des performances
extrèmes donc c'est très faisable, amha.
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Je recherche un algorithme VB de hash ne faisant pas appel à des resources externes (sinon j'aurais pu prendre un MD5 ou un SHA1) et qui retourne une chaine significative (numérique de préférence) "unique". Le point de
départ
étant une chaîne de caractères
C'est le critère d'unicité qui rend les choses très compliquées. Je ne connais pas d'algorithmes simples et fiables. Pour information, même MD5 a été "cassé": on a su exhiber 2 chaînes de caractères différentes présentant le même hash MD5. Bien sur, les chaînes en question ont été trouvées mathématiquement. La probabilité d'obtenir une collision MD5 sur des chaines "quelquonques" reste si faible que le MD5 est toujours considéré comme fiable.
Bref, pourquoi pas MD5 (voire MD4) ou SHA1 ? Y at'il une raison particulière? Et pas besoin de ressources externes: MD5 comme SHA1 sont décrits et tu peux les implémenter toi même, sans besoin d'une librairie externe. Les RFC sont la pour ça:
Les algorithmes sont parfaitement décrits, les implémenter est un bon exercice de traduction. Je ne prétend cependant pas qu'en faire une implémentation efficace soit une tâche aisée. Cependant, si tu le fais en VB, tu ne recherches de toute façon pas des performances extrèmes donc c'est très faisable, amha.
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
Thierry Dymon
Bon, pas les performances : en fait, j'ai écris une interface de correction pour money 2005 (à cause des cochonneries que l'on reçoit de certaines banques), et je désire remplacer l'id de la transaction (le compléter plutôt) afin que celui-ci devienne vraiment unique car calculé à partir de très peu de données (< 64 caractères généralement) : le seul cas où il restera vraiment en défaut, c'est quand on a les mêmes opérations (méme montant, tiers...).
Merci pour l'info
Bon, pas les performances : en fait, j'ai écris une interface de correction
pour money 2005 (à cause des cochonneries que l'on reçoit de certaines
banques), et je désire remplacer l'id de la transaction (le compléter
plutôt) afin que celui-ci devienne vraiment unique car calculé à partir de
très peu de données (< 64 caractères généralement) : le seul cas où il
restera vraiment en défaut, c'est quand on a les mêmes opérations (méme
montant, tiers...).
Bon, pas les performances : en fait, j'ai écris une interface de correction pour money 2005 (à cause des cochonneries que l'on reçoit de certaines banques), et je désire remplacer l'id de la transaction (le compléter plutôt) afin que celui-ci devienne vraiment unique car calculé à partir de très peu de données (< 64 caractères généralement) : le seul cas où il restera vraiment en défaut, c'est quand on a les mêmes opérations (méme montant, tiers...).