CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP] Question sur les salts.

EremesRebirth
EremesRebirth
Niveau 3
20 août 2010 à 01:36:42

Bonjour, je vais poser là une question qui me trotte depuis un moment.

Imaginons une fonction qui hash un passe avec des salts :

md5(sha1(salt1) . motdepasse . sha1(salt2));

Ce qui donne : 09f66eca9481ae1a834ad75d90416617

Après, un hacker obtient le passe hashé, puis il arrive a le décrypter (le md5 est faillible d'après ce que j'ai compris, avec les collisions).

Il obtient
bdb534d88ee9f2f49342860648b9d1fc40f7f847motdepasse
6baa5061cd4082e2bd71b9ed9598baa846b525da

Le fait est qu'on voit quand même le mdp au milieu, donc les salts auront servi a rien :(

Voilà, comprends pas :hap:

dnob700
dnob700
Niveau 10
20 août 2010 à 02:10:06

non, tu ne peux pas décrypter le md5 comme ça (ce que tu peux faire c'est construire des collisions). Le salt a un autre but : il empêche les attaques de dictionnaires. En effet si l'un de tes utilisateurs prends comme mot de passe 1234 (par exemple) et que tu en stocke juste le md5, alors un attaquant (qui possède un très gros fichier avec les md5 de tous les mots de passe "courant") trouve immédiatement quel est le mot de passe s'il a accès à la valeur md5 (c'est que ton site est déjà compromis dans tout les cas, mais tu ne veux pas en plus compromettre les mots de passes de tes utilisateurs). Tandis que si tu utilise une graine pour le calcul du md5 (je ne vois d'ailleurs pas trop l'intéret de la faire passer dans du sha), alors le md5 ne se trouvera pas dans le fichier de l'attaquant (vu que ça sera le md5 d'un mot de passe plus compliqué) et donc, là il ne peut pas "déccrypter" le md5 (ce qu'il pouvait faire en quelques sorte sans les graines).

Paulop
Paulop
Niveau 12
20 août 2010 à 06:12:39

Pour avoir discuté avec un (jeune) consultant en sécurité, ils possèdent des rainbow tables de plus 200Go, et même avec ça, ils ne peuvent pas venir à bout d'un mot de passe fort avec un salt de 8 caractères ASCII.

md5(mdp + salt)
sha1(mdp + salt)

C'est bien suffisant. :)

EremesRebirth
EremesRebirth
Niveau 3
20 août 2010 à 15:32:48

Ok, je vois maintenant, c'est juste pour contrer le bruteforce :noel:

Merci :-)

godrik
godrik
Niveau 30
20 août 2010 à 17:21:04

non, ca ne contre pas le brute force. Si tu connais la graine, le brute force fonctionne toujours. Parcontre, les attaques par dictionnaire ne fonctionne plus.
Tu serais oblige de reconstruire un dictionnaire pour chaque systeme.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment