Cryptage

Résolu
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 - 14 mars 2007 à 22:33
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 - 17 mars 2007 à 10:25
Bonjour a tous.
je cherche une methode de crytage de texte qui soit simple a mettre en oeuvre et efficace (qui fonctionne qu'avec une seul clef).
Sur internet, il y en a des dizaines, mais je ne sais pas la quelle choisir.

merci.

2 réponses

cs_bygui Messages postés 51 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 16 juin 2008
16 mars 2007 à 16:30
tu parles d'un cryptage symetrique: une seul clé pour coder et pour decoder. voila le code (tiré de developpez.com):




import java.io.*;




import




java.security.Security;




import




javax.crypto.*;



import




javax.crypto.spec.*;




public








class

Code {



public





static





void

codage(){



try

{Security.addProvider(



new

org.bouncycastle.jce.provider.BouncyCastleProvider());


// Fichier à chiffrer

File f =





new

File(

"example.txt"
);



byte

[] buffer =


new





byte

[(


int

)f.length()];DataInputStream in =



new

DataInputStream(


new

FileInputStream(f));in.readFully(buffer);

in.close();


// CHoix de l'iv







byte

[] iv = { (


byte

) 0xc9, (


byte

) 0x36, (


byte

) 0x78, (


byte

) 0x99,(



byte

) 0x52, (


byte

) 0x3e, (


byte

) 0xea, (


byte

) 0xf2 };

IvParameterSpec salt =



new

IvParameterSpec(iv);


// Clé secrète choisie







byte

[] raw =

"ma cle secrete"
.getBytes();SecretKey skeySpec =



new

SecretKeySpec(raw,

"Blowfish"
);


// Chiffrement du fichier

Cipher c = Cipher. getInstance (




"Blowfish/CBC/PKCS5Padding"
,

"BC"
); c.init(Cipher.



ENCRYPT_MODE

, skeySpec, salt);



byte

[] buf_crypt = c.doFinal(buffer);

FileOutputStream envfos =



new

FileOutputStream(

"fichier_chiffre"
);envfos.write(buf_crypt);

envfos.close();


// Déchiffrement du fichier

c = Cipher. getInstance (




"Blowfish/CBC/PKCS5Padding"
,

"BC"
); c.init(Cipher.



DECRYPT_MODE

, skeySpec, salt);



byte

[] buf_decrypt = c.doFinal(buf_crypt);

envfos =



new

FileOutputStream(

"fichier_dechiffre"
);envfos.write(buf_decrypt);

envfos.close();

}



catch

(Exception e) {e.printStackTrace();

}

}

}

il utilise un iv et une clé secrete pour rendre ton chiffrement unique. testé et approuvé
3
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
17 mars 2007 à 10:25
merci.
0
Rejoignez-nous