1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
package cryptagetest;
import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.SecretKeySpec;
public class securite{
private final static String cleSecrete = "Clin";
private final static String algorythme = "RC4";
private final static Key cle = new SecretKeySpec(cleSecrete.getBytes(), algorythme);
public static String text = new String();
public static void main(String[] args)
{
String texteCrypte = encrypte(text);
System.out.println(texteCrypte); //imprime "Äjy§ :Õ°Äó"
String texteEnClair = decrypte(texteCrypte);
System.out.println(texteEnClair); //imprime "javatropbien"
}
private static String encrypte(String texteEnClair)
{
Cipher cipher = null;
try
{
cipher = Cipher.getInstance(algorythme);
}
catch (NoSuchAlgorithmException e) {e.printStackTrace();}
catch (NoSuchPaddingException e) {e.printStackTrace();}
try
{
cipher.init(Cipher.ENCRYPT_MODE, cle);
}
catch (InvalidKeyException e) {e.printStackTrace();}
byte[] texteCrypte = null;
try
{
texteCrypte = cipher.doFinal(texteEnClair.getBytes());
}
catch (IllegalBlockSizeException e) {e.printStackTrace();}
catch (BadPaddingException e) {e.printStackTrace();}
return new String(texteCrypte);
}
private static String decrypte(String texteCrypte)
{
Cipher cipher = null;
try
{
cipher = Cipher.getInstance(algorythme);
}
catch (NoSuchAlgorithmException e) {e.printStackTrace();}
catch (NoSuchPaddingException e) {e.printStackTrace();}
try
{
cipher.init(Cipher.DECRYPT_MODE, cle);
}
catch (InvalidKeyException e) {e.printStackTrace();}
byte[] texteEnClair = null;
try
{
texteEnClair = cipher.doFinal(texteCrypte.getBytes());
}
catch (IllegalBlockSizeException e) {e.printStackTrace();}
catch (BadPaddingException e) {e.printStackTrace();}
return new String(texteEnClair);
}
public static void settext(String montext){
text = montext;
}
} |