mirror of
https://github.com/LucasVbr/data-encryption-standard.git
synced 2026-05-13 17:12:10 +00:00
Triple Des
This commit is contained in:
@@ -0,0 +1,29 @@
|
|||||||
|
package cryptography;
|
||||||
|
|
||||||
|
public class TripleDes {
|
||||||
|
|
||||||
|
private final Des[] listeDes;
|
||||||
|
|
||||||
|
public TripleDes() {
|
||||||
|
this.listeDes = new Des[]{new Des(), new Des(), new Des(),};
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[] crypte(String messageClair) {
|
||||||
|
String resultat = messageClair;
|
||||||
|
|
||||||
|
for (Des des : listeDes) {
|
||||||
|
resultat = Des.bitsToString(des.crypte(resultat));
|
||||||
|
}
|
||||||
|
return Des.stringToBits(resultat);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String decrypte(int[] messageCrypte) {
|
||||||
|
int[] resultat = messageCrypte;
|
||||||
|
|
||||||
|
// Il faut décripter dans le sens inverse, donc de l'index le plus grand vers le plus petit
|
||||||
|
for (int i = listeDes.length - 1; i >= 0; i--) {
|
||||||
|
resultat = Des.stringToBits(listeDes[i].decrypte(resultat));
|
||||||
|
}
|
||||||
|
return Des.bitsToString(resultat);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package cryptography.temp;
|
||||||
|
|
||||||
|
import cryptography.Des;
|
||||||
|
import cryptography.TripleDes;
|
||||||
|
|
||||||
|
public class testTripleDes {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
TripleDes tripleDes = new TripleDes();
|
||||||
|
|
||||||
|
String message = "Hello";
|
||||||
|
|
||||||
|
int[] messageCrypte = tripleDes.crypte(message);
|
||||||
|
String messageDecrypte = tripleDes.decrypte(messageCrypte);
|
||||||
|
|
||||||
|
System.out.printf("\"%s\" -> \"%s\" -> \"%s\"", message, Des.bitsToString(messageCrypte), messageDecrypte);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user