j'ai mit en rouge la ou ça coince.
J'arrive a récupérer la valeur de la cellule, mais au moment de la décrypter, il me dit : "Paramètre incorrecte" au niveau de ma fonction :
ci vous avez une petite idée pour que toutes les cellules à la colonne 8 soit décrypter, je suis preneur .
Merci d'avance.
-La constante d'une personne est la variable d'une autre.
-Il y a deux manières d'écrire des programmes sans erreurs. Seule la troisième marche
-Tout programme a (au moins) deux buts : celui pour lequel il a été écrit, et celui pour lequel il ne l'a pas
theflayer
Messages postés125Date d'inscriptiondimanche 28 février 2010StatutMembreDernière intervention21 juin 20152 25 juil. 2012 à 10:11
Salut, ok c'est bon j'ai trouvé
Donc en faite le problème c'était tous simplement pas coté C# mais coté MySQL...
J'avais mis un Varchar trop petit du coup il me coupait une partie du mot de passe crypter lors de l'enregistrement ..
Du coup j'ai l'ai agrandit et je rafraichis mon datagrid comme cité plus haut :
Maintenant je vais essayer de boucler selon le nombre de ligne pour qu'il me le fasse sur toutes les lignes du datagrid, et si ça marche pas je reviens vous embêter
Merci à tous.
-La constante d'une personne est la variable d'une autre.
-Il y a deux manières d'écrire des programmes sans erreurs. Seule la troisième marche
-Tout programme a (au moins) deux buts : celui pour lequel il a été écrit, et celui pour lequel il ne l'a pas
NHenry
Messages postés15099Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 2 mars 2024159 24 juil. 2012 à 18:28
Bonjour,
Pourquoi ne pas comparer directement le mot de passe "crypté" ?
En général pour mes MDP, on utilise MD5 au minimum, donc pas de décryptage, car le mdp est hashé.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
theflayer
Messages postés125Date d'inscriptiondimanche 28 février 2010StatutMembreDernière intervention21 juin 20152 24 juil. 2012 à 21:08
Salut NHenry, oui d'habitude je fais des comparaisons aussi, mais la c'est différent, le but n'ai pas d'utiliser ce mot de passe pour accéder à quelque chose, en faite c'est un petit logiciel d'inventaire de parc et il y a une partie qui liste les utilisateurs avec leurs mots de passes, c'est pour ça que j'aimerais les décrypter.
-La constante d'une personne est la variable d'une autre.
-Il y a deux manières d'écrire des programmes sans erreurs. Seule la troisième marche
-Tout programme a (au moins) deux buts : celui pour lequel il a été écrit, et celui pour lequel il ne l'a pas
NHenry
Messages postés15099Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 2 mars 2024159 24 juil. 2012 à 23:22
Bonjour,
Que fait ProtectedData.Protect ? (comme opération)
Car sans cela, dur de répondre.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 25 juil. 2012 à 08:58
Salut,
à part les méthodes d'encryption à clé, aucune des méthodes utilisées habituellement (hash MD5, SHA1 ...) ne permet de décrypter le message. Ces fonctions ne sont pas des bijections, c'est pour ça qu'on les utilise pour les mot de passe ;)
Après, il existe des méthodes pour tenter de récupérer des mots de passes hashés, mais c'est pas l'endroit pour en causer (hack), ni même le but recherché (logiciel d'entreprise).
theflayer
Messages postés125Date d'inscriptiondimanche 28 février 2010StatutMembreDernière intervention21 juin 20152 25 juil. 2012 à 09:33
Salut,
en faite c'est 2 fonctions que j'ai trouvé pour crypter et décrypter des chaines de caractères.
Elles se présentent comme ceci :
using System.Security.Cryptography; (Ajouter aussi la référence : System.Security au projet)
static string ProtectPassword(string clearPassword)
{
byte[] bytes = Encoding.UTF8.GetBytes(clearPassword);
byte[] protectedBytes = ProtectedData.Protect(bytes, null, DataProtectionScope.CurrentUser);
return Convert.ToBase64String(protectedBytes);
}
static string UnprotectPassword(string protectedPassword)
{
byte[] protectedBytes = Convert.FromBase64String(protectedPassword);
byte[] bytes = ProtectedData.Unprotect(protectedBytes, null, DataProtectionScope.CurrentUser);
return Encoding.UTF8.GetString(bytes);
}
// donc on a une chaine
string sChaine = "bidule";
//La je la crypt via la fonction ProtectPassword()
string sChaine_Cryp = ProtectPassword(sChaine);
//Cela me renvoi le mot de passe sous cette forme ci :
// AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAA39Y1R1+Cu0yn7aXIYMUtDQAAAAAC
// Et pour decrypter on utilise UnprotectPassword()
sChaine = UnprotectPassword(sChaine_Cryp);
//Ceci me renvoi "bidule"
En faite mon soucis n'est pas sur le décryptage qui fonctionne, mais sur le fait que je n'arrive pas à utiliser la fonction qui sert a ça sur une colonne de mon datagridview.
Donc j'avais pensé à quelque chose dans ce style :
Mais ça me renvoi une erreur, pourtant valu récupéré bien le mot de passe sous la forme crypter ...
Merci
-La constante d'une personne est la variable d'une autre.
-Il y a deux manières d'écrire des programmes sans erreurs. Seule la troisième marche
-Tout programme a (au moins) deux buts : celui pour lequel il a été écrit, et celui pour lequel il ne l'a pas
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 25 juil. 2012 à 09:54
Bon, je reviens de la fiche MSDN de ProtectData. L'encryption a l'air de fonctionner comme avec une clé (définit par le scope USER ou MACHINE).
Ton problème est côté interface en fait ?
Ta demande serait plutôt : "comment appliquer une fonction C# aux données d'un DataGridView, après remplissage depuis une BDD" ... bonne question