From a23eaf33235ee70476b8ea96c4b57028d2723615 Mon Sep 17 00:00:00 2001 From: Tomasz Lelek Date: Mon, 27 Feb 2017 19:06:34 +0100 Subject: [PATCH 1/4] BAEL-311 add jasyp module --- jasypt/pom.xml | 34 +++++++++++++++++++ .../java/org/baeldung/jasypt/JasyptTest.java | 27 +++++++++++++++ pom.xml | 1 + 3 files changed, 62 insertions(+) create mode 100644 jasypt/pom.xml create mode 100644 jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java diff --git a/jasypt/pom.xml b/jasypt/pom.xml new file mode 100644 index 0000000000..7e0c51f0b9 --- /dev/null +++ b/jasypt/pom.xml @@ -0,0 +1,34 @@ + + + + parent-modules + com.baeldung + 1.0.0-SNAPSHOT + + 4.0.0 + + jasypt + + + + org.jasypt + jasypt + ${jasypt.version} + + + junit + junit + ${junit.version} + test + + + + + 1.9.2 + 4.12 + + + + \ No newline at end of file diff --git a/jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java b/jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java new file mode 100644 index 0000000000..c81d605e50 --- /dev/null +++ b/jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java @@ -0,0 +1,27 @@ +package org.baeldung.jasypt; + + +import org.jasypt.util.text.BasicTextEncryptor; +import org.junit.Test; + +import static junit.framework.Assert.assertNotSame; +import static junit.framework.TestCase.assertEquals; + +public class JasyptTest { + + @Test + public void givenTextPassword_whenDecrypt_shouldCompareToEncrypted() { + //given + BasicTextEncryptor textEncryptor = new BasicTextEncryptor(); + String password = "secret-pass"; + textEncryptor.setPasswordCharArray(password.toCharArray()); + + //when + String myEncryptedText = textEncryptor.encrypt("secret-pass"); + assertNotSame("secret-pass", myEncryptedText); //myEncryptedText can be save in db + + //then + String plainText = textEncryptor.decrypt(myEncryptedText); + assertEquals(plainText, "secret-pass"); + } +} diff --git a/pom.xml b/pom.xml index 014e4016c5..d42c184993 100644 --- a/pom.xml +++ b/pom.xml @@ -61,6 +61,7 @@ javaslang javax-servlets javaxval + jasypt jaxb jee7 jjwt From 29fb2b339bdade9174c4b6bedd3427bb3369a888 Mon Sep 17 00:00:00 2001 From: Tomasz Lelek Date: Mon, 27 Feb 2017 19:29:20 +0100 Subject: [PATCH 2/4] BAEL-311 two tests that works when installed legal_policy.jar --- .../java/org/baeldung/jasypt/JasyptTest.java | 47 +++++++++++++++++-- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java b/jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java index c81d605e50..7d1265c887 100644 --- a/jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java +++ b/jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java @@ -1,7 +1,10 @@ package org.baeldung.jasypt; +import org.jasypt.encryption.pbe.PooledPBEStringEncryptor; +import org.jasypt.encryption.pbe.StandardPBEStringEncryptor; import org.jasypt.util.text.BasicTextEncryptor; +import org.junit.Ignore; import org.junit.Test; import static junit.framework.Assert.assertNotSame; @@ -17,11 +20,49 @@ public class JasyptTest { textEncryptor.setPasswordCharArray(password.toCharArray()); //when - String myEncryptedText = textEncryptor.encrypt("secret-pass"); - assertNotSame("secret-pass", myEncryptedText); //myEncryptedText can be save in db + String myEncryptedText = textEncryptor.encrypt(password); + assertNotSame(password, myEncryptedText); //myEncryptedText can be save in db //then String plainText = textEncryptor.decrypt(myEncryptedText); - assertEquals(plainText, "secret-pass"); + assertEquals(plainText, password); + } + + + @Test + @Ignore + public void givenTextPassword_whenDecrypt_shouldCompareToEncryptedWithCustomAlgorithm() { + //given + StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor(); + String password = "secret-pass"; + encryptor.setPassword("secret-pass"); + encryptor.setAlgorithm("PBEWithMD5AndTripleDES"); + + //when + String encryptedText = encryptor.encrypt("secret-pass"); + assertNotSame(password, encryptedText); + + //then + String plainText = encryptor.decrypt(encryptedText); + assertEquals(plainText, password); + } + + @Test + @Ignore + public void givenTextPassword_whenDecryptOnHighPerformance_shouldDecrypt(){ + //given + String password = "secret-pass"; + PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor(); + encryptor.setPoolSize(4); + encryptor.setPassword(password); + encryptor.setAlgorithm("PBEWithMD5AndTripleDES"); + + //when + String encryptedText = encryptor.encrypt(password); + assertNotSame(password, encryptedText); + + //then + String plainText = encryptor.decrypt(encryptedText); + assertEquals(plainText, password); } } From 64efdec3ef1669e3391a54e0520ccb92e1eeea2e Mon Sep 17 00:00:00 2001 From: Tomasz Lelek Date: Mon, 27 Feb 2017 19:31:19 +0100 Subject: [PATCH 3/4] BAEL-311 msg in ignore --- jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java b/jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java index 7d1265c887..d05b18171d 100644 --- a/jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java +++ b/jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java @@ -30,7 +30,7 @@ public class JasyptTest { @Test - @Ignore + @Ignore("should have installed local_policy.jar") public void givenTextPassword_whenDecrypt_shouldCompareToEncryptedWithCustomAlgorithm() { //given StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor(); @@ -48,7 +48,7 @@ public class JasyptTest { } @Test - @Ignore + @Ignore("should have installed local_policy.jar") public void givenTextPassword_whenDecryptOnHighPerformance_shouldDecrypt(){ //given String password = "secret-pass"; From d99c87777f1e9d8cfa61e70894c84e5e80678cca Mon Sep 17 00:00:00 2001 From: Tomasz Lelek Date: Thu, 2 Mar 2017 10:53:24 +0100 Subject: [PATCH 4/4] BAEL-311 add exampe of one way encryption --- .../java/org/baeldung/jasypt/JasyptTest.java | 38 +++++++++++++++++-- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java b/jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java index d05b18171d..c4bed5de83 100644 --- a/jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java +++ b/jasypt/src/test/java/org/baeldung/jasypt/JasyptTest.java @@ -3,21 +3,24 @@ package org.baeldung.jasypt; import org.jasypt.encryption.pbe.PooledPBEStringEncryptor; import org.jasypt.encryption.pbe.StandardPBEStringEncryptor; +import org.jasypt.util.password.BasicPasswordEncryptor; import org.jasypt.util.text.BasicTextEncryptor; import org.junit.Ignore; import org.junit.Test; +import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertNotSame; +import static junit.framework.Assert.assertTrue; import static junit.framework.TestCase.assertEquals; public class JasyptTest { @Test - public void givenTextPassword_whenDecrypt_shouldCompareToEncrypted() { + public void givenTextPassword_whenDecrypt_thenCompareToEncrypted() { //given BasicTextEncryptor textEncryptor = new BasicTextEncryptor(); String password = "secret-pass"; - textEncryptor.setPasswordCharArray(password.toCharArray()); + textEncryptor.setPasswordCharArray("some-random-password".toCharArray()); //when String myEncryptedText = textEncryptor.encrypt(password); @@ -28,10 +31,37 @@ public class JasyptTest { assertEquals(plainText, password); } + @Test + public void givenTextPassword_whenOneWayEncryption_thenCompareEncryptedPasswordsShouldBeSame(){ + String password = "secret-pass"; + BasicPasswordEncryptor passwordEncryptor = new BasicPasswordEncryptor(); + String encryptedPassword = passwordEncryptor.encryptPassword(password); + + //when + boolean result = passwordEncryptor.checkPassword("secret-pass", encryptedPassword); + + //then + assertTrue(result); + } + + @Test + public void givenTextPassword_whenOneWayEncryption_thenCompareEncryptedPasswordsShouldNotBeSame(){ + String password = "secret-pass"; + BasicPasswordEncryptor passwordEncryptor = new BasicPasswordEncryptor(); + String encryptedPassword = passwordEncryptor.encryptPassword(password); + + //when + boolean result = passwordEncryptor.checkPassword("secret-pass-not-same", encryptedPassword); + + //then + assertFalse(result); + } + + @Test @Ignore("should have installed local_policy.jar") - public void givenTextPassword_whenDecrypt_shouldCompareToEncryptedWithCustomAlgorithm() { + public void givenTextPassword_whenDecrypt_thenCompareToEncryptedWithCustomAlgorithm() { //given StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor(); String password = "secret-pass"; @@ -49,7 +79,7 @@ public class JasyptTest { @Test @Ignore("should have installed local_policy.jar") - public void givenTextPassword_whenDecryptOnHighPerformance_shouldDecrypt(){ + public void givenTextPassword_whenDecryptOnHighPerformance_thenDecrypt(){ //given String password = "secret-pass"; PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();