Stockage d'un mot de passe. [Résolu] [Delphi] - Delphi/Pascal - Programmation
Marsh Posté le 21-09-2003 à 19:39:29
ben comme la méthode classique
tu mémorises les mot de passe passé à la moulinnette par une fonction de hachage, c'est à dire pas réversible
saisis de l'utilisateur, moulinette, comparaison avec le fichier
Marsh Posté le 21-09-2003 à 19:41:44
Hmm c'est vrai que c'est tout bête en fait... mais je ne sais pas pourquoi dans mon cas pensais que ce n'était pas faisable ( un client et serveur...) mais en fait c'est faisable sans aucun probleme....
Hmm en Delphi c'est quoi le nom de la fonction qui permet ce hachage??? .......... Bon ok je vais voir dans l'aide
Merci pour ta réponse
Marsh Posté le 21-09-2003 à 19:42:55
aucune idée, j'ai fait un semestre de pascal y a longtemps
sous GNU/linux, ça passe par crypt et du MD5
Marsh Posté le 21-09-2003 à 19:44:32
Moi le seul pascal que j'ai fait c'était en seconde durant mes TP de physique... Sonde "Orhpy" ou un truc du style.... et je sais pas pourquoi on a pas vu la fonction de cryptage ;-)
Merci tout de meme pour ton aide
Marsh Posté le 21-09-2003 à 19:55:47
ici http://www.fichtner.net/delphi/md5.delphi.phtml tu trouveras une unité pour utiliser l'algo md5
Marsh Posté le 21-09-2003 à 20:53:48
moi j'utilise ça :
Code :
|
je sais pas ce que ça vaut, c'est pas moi qui l'avait fait
Taz >> je vois pas trop où tu veux en venir, avec un système non réversible comment tu fais puisqu'il demandait "conserver le mot de passe utilisateur afin que celui ci n'est pas à le mettre à chaque fois."... le md5 ça va pas fort pour ça, non ?
Marsh Posté le 21-09-2003 à 20:56:28
Taz a écrit : ben c'est très très mauvais ! |
Marsh Posté le 21-09-2003 à 20:57:22
ben c'est cassable très facilement, ce n'est absolument pas sur. aucun système digne de ce nom ne procède comme ça
Marsh Posté le 21-09-2003 à 21:07:05
Taz a écrit : ben c'est cassable très facilement, ce n'est absolument pas sur. aucun système digne de ce nom ne procède comme ça |
de toute facon,il est toujours possible de cracker le logiciel, un logiciel sécurisé a 100 % n'existe pas
Marsh Posté le 21-09-2003 à 21:07:49
Taz a écrit : ben c'est cassable très facilement, ce n'est absolument pas sur. aucun système digne de ce nom ne procède comme ça |
J'me disais la même chose qu'antp :
Citation : Taz >> je vois pas trop où tu veux en venir, avec un système non réversible comment tu fais puisqu'il demandait "conserver le mot de passe utilisateur afin que celui ci n'est pas à le mettre à chaque fois."... le md5 ça va pas fort pour ça, non ? |
Marsh Posté le 21-09-2003 à 21:11:15
Taz a écrit : ben c'est cassable très facilement, ce n'est absolument pas sur. aucun système digne de ce nom ne procède comme ça |
bah dis comment ils font alors les softs qui retiennent les mots de passe je me doute qu'il doit y avoir des trucs plus sûrs, mais bon faut voir aussi le degré de sûreté nécessaire...
Marsh Posté le 21-09-2003 à 21:17:25
antp a écrit : |
ben ces trucs facilement cassables
Marsh Posté le 22-09-2003 à 10:41:49
antp a écrit : moi j'utilise ça :
|
Antp / Taz >> Me corriger si j'ai mal compris, mais le truc est de conserver la chaine crypté en md5 sur le client, de lui envoyer ca et de comparer avec le md5 du server, si ca match c'est gagné, sinon erreur?
Du moins moi je le vois comme ca
Antp >> Tes fonctions de cryptage elles suivent un algo particulier exsistant ou c'est une création?
Marsh Posté le 22-09-2003 à 12:03:20
Grouzou a écrit : |
Oui si c'est ton programme qui fait la comparaison et qui dit si l'utilisateur a accès. Si ton programme envoie juste un mot de passe au serveur, là le md5 ne te servira à rien.
Grouzou a écrit : |
je pense que ce n'est pas basé sur un truc existant, mais comme je l'ai dit ce n'est pas moi qui ai écrit ces fonctions
Marsh Posté le 22-09-2003 à 15:02:04
Grouzou a écrit : Bonjour à tous, |
Humm revenons à nos moutons.....
Déjà, quel est l'intérêt de conserver un MdP crypté qq part si l'utilisateur n'a pas à le ressaisir ?
Par quel miracle le soft va reconnaître l'utilisateur ?
Marsh Posté le 22-09-2003 à 15:12:30
Je donne l'option à l'utilisateur de concerver le mot de passe, ensuite à lui de voir qui va utiliser l'appli...
Mais bon comme c'est un petit soft rien que pour moi et quelques amis ca n'a pas grande importance. ( un soft de communication style irc ou msn car on en a marre d'utiliser les mails internes (et on a pas acces à internet )
Je fais juste cela pour m'initier à Delphi, ensuite si je concois des softs de plus grande importance je mettrai une part plus importante à la sécurité
Marsh Posté le 22-09-2003 à 15:13:03
QI130 a écrit : |
ben que le mdp crypté qu'il a dans son cookie, bern quand il s'identifie avec le serveur, tout ne passe pas en clair.
je crois que c'est pas compliqué à comprendre
Marsh Posté le 22-09-2003 à 16:14:44
Sinon, j'ai une autre question....
Je ne me l'était pas posé mais je crois que je vais avoir un problème...
Comment fait on pour faire accepter à un server plusiseurs connection client sur le même port?? (gestion multithread?)
(j'utilise les composants livrés avec Delphi 6)
Marsh Posté le 22-09-2003 à 16:27:35
bah il l'accepte sans problème, non ? enfin faut voir comment tu le gères
Marsh Posté le 22-09-2003 à 16:33:58
Ben en fait j'ai déjà du mal à me connecter avec un seul client
Mais comme j'anticipe sur mon dev je me demandais comment je pouvais savoir de quel client venait le message...
Marsh Posté le 22-09-2003 à 16:36:24
Il te passe le socket en paramètre (un TCustomWinSocket)
Suffit de savoir quel client est sur quel socket (à la connexion le serveur le reçoit aussi en paramètre, et il ne change pas tout au long de la connexion)
Marsh Posté le 22-09-2003 à 16:41:45
Sinon question purement pratique lié à l'éditeur de Delphi 6.
Quand je veux créer une nouvelle procédure je dois mettre manuellement et aux bons endroits la définition de la dite procédure.
Il y aurait pas un onglet style "New procedure" ?
(bon je sais ca fait beaucoup de question...mais hmm j'ai certainement acquis de mauvais reflexes au boulot avec l'éditeur que l'on a "AppBuilder de PROGRESS" ( et oui je suis sur que ca dit rien à personne ca )
Marsh Posté le 22-09-2003 à 16:52:09
Tu mets ta déclaration dans partie interface, dans la définition de la classe (en private ou public) puis tu fais Ctrl+Shift+C et ça l'ajoutera en bas, dans la partie implementation.
Mais ça ne marche pas avec les procédures simples (qui ne sont pas des méthodes d'une classe donc), ni si tu as la version Perso/Standard de Delphi il me semble.
Marsh Posté le 22-09-2003 à 17:08:16
antp a écrit : moi j'utilise ça :
|
En fait, ç'est un peu limité comme chiffrement .
Grouzou, ça depend surtout si le mot de passe doit être stocké seulement pendant l'execution de l'appli (cas 1) ou après la sortie de l'appli (cas 2).
Dans le cas 1, il suffit de fabriquer une clé : tu prends un nombre aléatoire (ou par ex. GetTickCount) que tu hash avec du md5 : cela va donner une suite de caractère qui sera la clé pour chiffrer et déchiffre le mot de passe (à conserver donc pendant le déroulement de l'appli)
Après tu chiffre le mot de passe avec cette clé avec un algo de chiffrement quelconque (IDEA par ex cf. lien plus bas), tu as ton mot de passe chiffré, tu peux le déchiffrer en utilisant l'algo inverse. Mais tu n'as peut être pas besoin d'un truc aussi sécurisé
Par contre si tu veux le chiffer sur le client et le déchiffrer sur le serveur ou vice versa. il faut procéder autrement.
Le cas 2 est plus compliqué, demande d'authentifier l'utilisateur, mais c'est pas ce dont tu as besoin d'après ce que j'ai compris.
Regarde le package suivant http://www.cityinthesky.co.uk/cryptography.html il comprends toutes les fonctions de hashage (MD5,...) et les algo de chiffrement symétriques (chiffrement et déchiffrement avec la même clé, par ex. IDEA), dont tu as besoin ainsi que des exemples.
Marsh Posté le 22-09-2003 à 17:32:30
cpdump a écrit : |
bah oui mais bon dans mon cas c'est pour un truc local qui est généralement déjà sauvé dans la config Windows (mot de passe du proxy).
Marsh Posté le 24-09-2003 à 16:43:21
En fait, ll faut évaluer le préjudice potientiel et mettre les moyens en conséquence. Si le préjudice est faible, il n'y a pas besoin de sortir l'artillerie lourde
Son avantage qui est aussi sa principale faiblesse c'est que c'est un algorithme sans clé, c'est pratique pour transérer un mot de passe entre client et serveur, mais c'est toujours le même texte chiffré qui passe et il suffit de connaitre l'algo pour trouver le mot de passe.
De toute façons la sécurité d'un systeme correspond à la
sécurité de son maillon le plus faible.
Marsh Posté le 21-09-2003 à 19:37:52
Bonjour à tous,
Je viens de me mettre au Delphi, et pour les besoins de mon application j'aurais besoin de conserver le mot de passe utilisateur afin que celui ci n'est pas à le mettre à chaque fois.
Quel est le meilleur moyen donc pour conserver ce mot de passe dans les meilleures conditions ( j'etends par la impossibilité de le retrouver en éditant un fichier ou je ne sais quoi..)
Merci de votre aide!!
Grouzou
Message édité par Grouzou le 21-09-2003 à 19:49:58