UTILITAIRE DE CRYPTOGRAPHIE

scortex84 Messages postés 379 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 20 avril 2011 - 6 sept. 2005 à 18:19
Vinsaille Messages postés 39 Date d'inscription mercredi 6 juin 2007 Statut Membre Dernière intervention 18 juin 2008 - 18 juin 2007 à 12:06
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33669-utilitaire-de-cryptographie

Vinsaille Messages postés 39 Date d'inscription mercredi 6 juin 2007 Statut Membre Dernière intervention 18 juin 2008
18 juin 2007 à 12:06
Bonjour à tous,

Héhé plus d'un an apres je pose casiment la même question, Je n'arrive pas à décrypter mon mot de passe, avec la fonction decrypttext qui utilise elle même la fonction decrypt.

En effet, j'obtiens l'erreur :

"Le remplissage n'est pas valide et ne peut pas être supprimé."

au niveau de n = cs.Read(buffer, 0, 100)

Quelqu'un pourrait m'aider car j'ai pas vraiment pigé les explications au dessus SVP! merci
odureux Messages postés 13 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 8 mai 2009
28 févr. 2006 à 19:27
Merci pour cette classe, bien codée, facile à utiliser, très complète et très fonctionnelle !
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
10 oct. 2005 à 12:36
Merci Addy
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
7 oct. 2005 à 13:24
Ah! Dans l'exemple c'est
Crypto.EcncryptTextToFile(ConnStr, "connstr")
Au lieu de
Crypto.EcncryptTextToFile("connstr")
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
7 oct. 2005 à 13:21
Tout d'abord, les 'On Error Resume Next' ne sont pas necessaires car dans les bonnes conditions d'utilisation CryptoUtil n'en a pas besoin. Essaie plutôt de vérifier par code si le fichier crypté existe avant de tenter de l'ouvrir (un truc du genre If File.Exist("mon fichier") Then ...). Ensuite, avant de stocker une chaîne cryptée sur un support quel qu'il soit, assure-toi que ce support utilise des chaînes UNICODE (où chaque caractère est stocké sur 2 octets) sinon tu auras un pb à la relecture de la chaîne cryptée. La clé de cryptage et le vecteur d'interruption doivent être des constantes de ton programme (ne tente pas de les changer à chaque démarrage de l'application). Enfin voici un pétit exemple :
Const MyKey As String = "geronimo"
Const MyIV As String = "topolino"

Public ConnStr As String
Private Crypto As CryptoUtil

Public Sub Main
Crypto = New CryptoUtil(MyKey, MyIV)
If File.Exist("connstr") Then
ConnStr = Crypto.DecryptTextFromFile("connstr")
Else
' Créer la chaîne de connexion
'...
' et la sauvegarder
Crypto.EncryptTextToFile("connstr")
End If
' Do some stuff with the connection string...
End Sub
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
29 sept. 2005 à 16:19
j utilise ta fonction pour stocker un mot de passe de mon appli
a l origine il etait stocké en clair dans la base de registre j ai donc essayer de "greffer" sur la lecture/enregistremnt de la bdr ta fonction encrypt/decrypt text mais il m a fallut rajouter tout d abord quelque on error resume next car au depart il n y a pas de mot de passe encrypté dans la base de registre ensuite le mot de passe etait bien enrigistrer en crypter mais je soupconne un probleme de longueur car au relancement de mon soft je relit le mot de passe pour me connecté mais la fonction decrypt me renvoi autre chose que le mot de passe d origine.
j ai donc essayer d opter pour la function texttofile et il y a toujours le meme probleme de control sur l existance ou non du fichier de plus l ecriture du fichier ce fait bien mais a la relecture la function decrypt me renvoie une chaine vide ?????
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
7 sept. 2005 à 22:45
Quand tu utilises des tableaux de bytes (Constructeur de la ligne 18), assure-toi que chacun de tes tableaux contienne exactement seize (16) éléments.
scortex84 Messages postés 379 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 20 avril 2011 1
6 sept. 2005 à 18:27
Reee, donc en passant en parametre une clef (string de 8 caracteres), cela fonctionne...

Tu as un exemple lorsqu'on passe en parametre des bytes?

Merci pour cette source !!

Seb.
scortex84 Messages postés 379 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 20 avril 2011 1
6 sept. 2005 à 18:19
Hello ! Pas mal du tout (surement...) mais chez moi ça marche poooo :-( Et c'est bien dommage car j'en ai besoin !!!

Lorsque j'encrypte une chaine vers un fichier, pas de soucis
Mais lors du décryptage, voilou ce que j'obtiens : "Le remplissage PKCS7 n'est pas valide et ne peut pas être supprimé"

Une idée ???

Merci !!

Seb.
Rejoignez-nous