diff --git a/src/main/java/com/ugsbo/Crypto/Payload.java b/src/main/java/com/ugsbo/Crypto/Payload.java index bd2d573..a2bd031 100644 --- a/src/main/java/com/ugsbo/Crypto/Payload.java +++ b/src/main/java/com/ugsbo/Crypto/Payload.java @@ -15,11 +15,11 @@ public class Payload { String offen; String verschlüsselt; SecretKeySpec password; - + public Payload() { offen = ""; verschlüsselt = ""; - + try { this.setPassword(""); } catch (UnsupportedEncodingException e) { @@ -30,8 +30,8 @@ public class Payload { e.printStackTrace(); } } - - + + public String getOffen() { return offen; } @@ -54,33 +54,34 @@ public class Payload { - public void setPassword(String password) throws GeneralSecurityException, UnsupportedEncodingException { + public void setPassword(String password) + throws GeneralSecurityException, UnsupportedEncodingException { byte[] key = (password).getBytes("UTF-8"); - - // aus dem Array einen Hash-Wert erzeugen mit MD5 oder SHA - MessageDigest sha = MessageDigest.getInstance("SHA-256"); - key = sha.digest(key); - - // nur die ersten 128 bit nutzen - key = Arrays.copyOf(key, 16); - - // der fertige Schluessel - this.password = new SecretKeySpec(key, "AES"); + + // aus dem Array einen Hash-Wert erzeugen mit MD5 oder SHA + MessageDigest sha = MessageDigest.getInstance("SHA-256"); + key = sha.digest(key); + + // nur die ersten 128 bit nutzen + key = Arrays.copyOf(key, 16); + + // der fertige Schluessel + this.password = new SecretKeySpec(key, "AES"); } - - - + + + public void verschlüsseln() throws NoSuchAlgorithmException, GeneralSecurityException { Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.ENCRYPT_MODE, password); byte[] encrypted = cipher.doFinal(offen.getBytes()); - + verschlüsselt = Base64.getEncoder().encodeToString(encrypted); } public void entschlüsseln() throws NoSuchAlgorithmException, GeneralSecurityException { byte[] text = Base64.getDecoder().decode(verschlüsselt); - + Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.DECRYPT_MODE, password); byte[] cipherData2 = cipher.doFinal(text); diff --git a/src/test/java/com/ugsbo/Crypto/Crypt.java b/src/test/java/com/ugsbo/Crypto/Crypt.java index 1e95a3a..e597fc4 100644 --- a/src/test/java/com/ugsbo/Crypto/Crypt.java +++ b/src/test/java/com/ugsbo/Crypto/Crypt.java @@ -13,9 +13,9 @@ import org.junit.Test; public class Crypt { - + private Payload workingobjekt; - + @Before public void setUp() throws Exception { workingobjekt = new Payload(); @@ -23,33 +23,33 @@ public class Crypt { @Test public void offenIstAnders() { - - String eingabe = "TestText"; + + String eingabe = "TestText"; String ergebnis; String password = ""; - + try { - workingobjekt.setOffen(eingabe); - workingobjekt.setPassword(password); - workingobjekt.entschlüsseln(); - } catch (GeneralSecurityException e) { - e.printStackTrace(); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - + workingobjekt.setOffen(eingabe); + workingobjekt.setPassword(password); + workingobjekt.entschlüsseln(); + } catch (GeneralSecurityException e) { + e.printStackTrace(); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + ergebnis = workingobjekt.getVerschlüsselt(); - - assertNotEquals("unterschidliche Texte",eingabe,ergebnis); + + assertNotEquals("unterschidliche Texte", eingabe, ergebnis); } - + @Test public void verUndEntschlüsseln() { - + String password = "Test"; String eingabe = "TestText"; String ergebnis; - + try { workingobjekt.setOffen(eingabe); workingobjekt.setPassword(password); @@ -59,8 +59,8 @@ public class Crypt { e.printStackTrace(); } ergebnis = workingobjekt.getOffen(); - - assertEquals("das entschlüsselte Test Wort",ergebnis,eingabe); + + assertEquals("das entschlüsselte Test Wort", ergebnis, eingabe); } } diff --git a/src/test/java/com/ugsbo/Crypto/DeCrypt.java b/src/test/java/com/ugsbo/Crypto/DeCrypt.java index 4b4f9ca..bcc99f4 100644 --- a/src/test/java/com/ugsbo/Crypto/DeCrypt.java +++ b/src/test/java/com/ugsbo/Crypto/DeCrypt.java @@ -10,7 +10,7 @@ import org.junit.Test; public class DeCrypt { private Payload workingobjekt; - + @Before public void setUp() throws Exception { workingobjekt = new Payload(); @@ -18,33 +18,33 @@ public class DeCrypt { @Test public void verschlüsseltIstAnders() { - - String eingabe = "TestText"; + + String eingabe = "TestText"; String password = "Test"; String ergebnis; - + try { - workingobjekt.setVerschlüsselt(eingabe); - workingobjekt.setPassword(password); + workingobjekt.setVerschlüsselt(eingabe); + workingobjekt.setPassword(password); workingobjekt.entschlüsseln(); } catch (GeneralSecurityException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } - + ergebnis = workingobjekt.getOffen(); - - assertNotEquals("unterschidliche Texte",eingabe,ergebnis); + + assertNotEquals("unterschidliche Texte", eingabe, ergebnis); } - + @Test public void entUndVerschlüsseln() { - + String password = "Test"; String eingabe = "TestText"; String ergebnis; - + try { workingobjekt.setOffen(eingabe); workingobjekt.setPassword(password); @@ -53,10 +53,10 @@ public class DeCrypt { } catch (GeneralSecurityException | UnsupportedEncodingException e) { e.printStackTrace(); } - + ergebnis = workingobjekt.getOffen(); - - assertEquals("das entschlüsselte Test Wort",ergebnis,eingabe); + + assertEquals("das entschlüsselte Test Wort", ergebnis, eingabe); } }