Cryptage Simple ? (MD5, DES, DSA, ........)
Le
TroXsA
Bonjour,
Exist-il pas un mode de cryptage simple ?
exemple :
Criptage(TypeDeCryptage, Mode-Decrypt ou Cryptage, ClefDeCryptageStr,
Fichier ou ChaineStr)
Criptage(MD5, Decrypt, "maclef", TextBox1.text)
ou encore Criptage(DES, Cryptage, "maclef", "c:\monfichier.txt")
Faut-il faire sa class ? ou, il existe une methode simple ? (c'est domage si
cela n'existe pas)
Cordialement,
Site : http://www.troxsa.info
Mail : http://cerbermail.com/?rIXgaw9Xsl
Exist-il pas un mode de cryptage simple ?
exemple :
Criptage(TypeDeCryptage, Mode-Decrypt ou Cryptage, ClefDeCryptageStr,
Fichier ou ChaineStr)
Criptage(MD5, Decrypt, "maclef", TextBox1.text)
ou encore Criptage(DES, Cryptage, "maclef", "c:\monfichier.txt")
Faut-il faire sa class ? ou, il existe une methode simple ? (c'est domage si
cela n'existe pas)
Cordialement,
Site : http://www.troxsa.info
Mail : http://cerbermail.com/?rIXgaw9Xsl

Poser une question


Si tu veux utiliser la syntaxe exacte que tu indique la, il te faut faire
ta classe. Mais ca ne sera pas bien compliqué, les classes du .NET
Framework sont quasiment aussi simple a utiliser. Pour RSA par exemple, tu
cree une instance de RSACryptoServiceProvider en lui passant ta paire de
clé (ou rien si tu veux avoir une paire automatiquement générée pour toi)
puis Encrypt() et Decrypt(). Pas sorcier. Pour MD5 pareil: cree
MD5CryptoServiceProvider, affecte ta clé a la bien nommée propriété Key
puis ComputeHash (pas de decrypt avec MD5, c'est un algorithme de hashage).
Pour DES, il va te falloir 2 lignes de codes en plus pour créer les
Enryptor et Decryptor avant de pouvoir crypter et decrypter tes donnée,
rien de bien méchant.
Dans les syntaxes qui tu propose, il manque un élément de taille quand
meme: quel encodage la méthode est-elle sensée utiliser pour tes chaines de
caracteres ? ASCII ? Unicode ? UTF-8 ? Ton encodage a toi du terroir ? Ca
ne se devine pas ce genre de choses.
Merci de m'avoir repondu :)
Dans le msdn il y a des exemples mais un peux plus complex par rapport a ce
que tu dit
aurait tu un exemple ?
@+
Cordialement,
Site : http://www.troxsa.info
Mail : http://cerbermail.com/?rIXgaw9Xsl
"Mehdi" ms72843az8sq$
faire
Dim crypto As New RSACryptoServiceProvider()
Dim uEncode As New System.Text.UnicodeEncoding()
Dim byt() As Byte = uEncode.GetBytes("test")
Dim Nouv() As Byte = crypto.Encrypt(byt, False)
Comment ecrire les valeurs en format string ?
et apres comment faire le decrypt ?
je vais continuer a rechercher de mon coter, si quel un sais comment faire
je suis preneur :)
@+
Cordialement,
Site : http://www.troxsa.info
Mail : http://cerbermail.com/?rIXgaw9Xsl
"TroXsA" durrku$4vf$
T'a fait le plus gros du boulot la. Maintenant que tu a ton tableau d'octet
crypté, tu peux l'écrire dans un fichier ou sur une socket par exemple en
l'envoyant simplement sur sa Stream. Si tu veux afficher les donnée cryptée
a l'écran, le plus simple est d'utiliser une boucle 'for' et d'afficher les
valeurs de chaque octet (en utilisant la fonction ToString() de la classe
byte) les unes a la suite des autres.
Si pour une raison quelconque tu tiens absolument a afficher les données
cryptées sous la forme d'une string, alors tu peux juste créer un encodeur
(UnicodeEncoding, ASCIIEncoding, ce que tu veux) et utiliser sa méthode
GetString() pour récupérer une string a partir de ton tableau d'octet.
Attention cependant, les octets dans le tableau d'octet crypté peuvent
avoir n'importe quel valeur comprise entre 0 et 255. Selon l'encodage
utilisé, la string correspondant a ton tableau d'octet contiendra presque
certainement des caracteres non affichables. Par exemple, en ASCII, un
octet de valeur 8 correspond au caractere "Backspace" que tu aura du mal a
afficher dans une TextBox. Le mieux est d'utiliser l'encodage Base64 qui a
été concu pour résoudre ce probleme particulier:
[désolé, c'est en C#, mon VB n'est assez encore assez bon]
string encryptedString = Convert.ToBase64String(Nouv);
Pour le décryptage, tu récupere le tableau d'octet cryptés (en le lisant
depuis un fichier binaire, une socket, ou si on te file une string en
base64 en utilisant la méthode Convert.FromBase64String) puis tu appele la
méthode Decrrypt de ton RSACryptoServiceProvider. Tu va récupérer un
nouveau tableau d'octet et tu n'aura plus qu'a le convertir en string en
utilisant l'encodage approprié (dans le cas de ton exempe,
UnicodeEncoding).
Bien entendu, pour le décryptage tu aura besoin de la clé privée
correspondant a la clé publique utilisée pour le cryptage. Vu que dans ton
exemple tu a demandé a ce qu'une paire de clé soit générée automatiquement
pour toi, si tu veux pouvoir décrypter plus tard ce que tu a crypté, il te
faut stocker les clés quelque part (dans un endoit sur!). Tu peux utiliser
la méthode RSACryptoServiceProvider.ToXmlString() pour récupérer tes clés
sous la forme d'une string en XML puis plus tard la méthode FromXmlString
pour réimporter tes clés.
Comment faire pour définir une clef ? car a chaque fois que je met un
paramètre ça plante
Ce que je recherche a faire c'est de cryptage d'un mot de passe dans le
registre .
Le mot de passe ce trouve dans une textbox je récupéré la valeur de la
textbox pour ensuite la coder en RSA
jusqu'a là j'arrive a faire un cryptage d'une chaine de caractère puis
l'afficher en string, mais pour faire un décryptage c'est autre chose
j'arrive pas a faire ce que tu dit
une fois codé ça fait 128 bytes (si c'est bien le therme) mais une fois
décoder ça fait 126 mais ou sont passer les deux autres ?
Merci de ton aide
Cordialement,
Site : http://www.troxsa.info
Mail : http://cerbermail.com/?rIXgaw9Xsl
"Mehdi"