From 2d77f5469517388fa8474b3a3dc09cc44246ce03 Mon Sep 17 00:00:00 2001 From: Thibaut DAVID <34125897+Stun3R@users.noreply.github.com> Date: Thu, 7 Dec 2017 19:58:19 +0100 Subject: [PATCH] Add new hash method (#1446) Add new hash method for a CMS : http://craftmywebsite.fr/ --- .../fr/xephi/authme/security/HashAlgorithm.java | 1 + .../fr/xephi/authme/security/crypts/CmwCrypt.java | 14 ++++++++++++++ .../authme/security/crypts/CmwCryptTest.java | 15 +++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 src/main/java/fr/xephi/authme/security/crypts/CmwCrypt.java create mode 100644 src/test/java/fr/xephi/authme/security/crypts/CmwCryptTest.java diff --git a/src/main/java/fr/xephi/authme/security/HashAlgorithm.java b/src/main/java/fr/xephi/authme/security/HashAlgorithm.java index fb47f780..7a684a3d 100644 --- a/src/main/java/fr/xephi/authme/security/HashAlgorithm.java +++ b/src/main/java/fr/xephi/authme/security/HashAlgorithm.java @@ -10,6 +10,7 @@ public enum HashAlgorithm { ARGON2(fr.xephi.authme.security.crypts.Argon2.class), BCRYPT(fr.xephi.authme.security.crypts.BCrypt.class), BCRYPT2Y(fr.xephi.authme.security.crypts.BCrypt2y.class), + CMW(fr.xephi.authme.security.crypts.CmwCrypt.class), CRAZYCRYPT1(fr.xephi.authme.security.crypts.CrazyCrypt1.class), IPB3(fr.xephi.authme.security.crypts.Ipb3.class), IPB4(fr.xephi.authme.security.crypts.Ipb4.class), diff --git a/src/main/java/fr/xephi/authme/security/crypts/CmwCrypt.java b/src/main/java/fr/xephi/authme/security/crypts/CmwCrypt.java new file mode 100644 index 00000000..2b94dc03 --- /dev/null +++ b/src/main/java/fr/xephi/authme/security/crypts/CmwCrypt.java @@ -0,0 +1,14 @@ +package fr.xephi.authme.security.crypts; + +import fr.xephi.authme.security.HashUtils; + +/** + * Hash algorithm to hook into the CMS Craft My Website. + */ +public class CmwCrypt extends UnsaltedMethod { + + @Override + public String computeHash(String password) { + return HashUtils.md5(HashUtils.sha1(password)); + } +} diff --git a/src/test/java/fr/xephi/authme/security/crypts/CmwCryptTest.java b/src/test/java/fr/xephi/authme/security/crypts/CmwCryptTest.java new file mode 100644 index 00000000..7c6652db --- /dev/null +++ b/src/test/java/fr/xephi/authme/security/crypts/CmwCryptTest.java @@ -0,0 +1,15 @@ +package fr.xephi.authme.security.crypts; + +/** + * Test for {@link CmwCrypt}. + */ +public class CmwCryptTest extends AbstractEncryptionMethodTest { + + public CmwCryptTest() { + super(new CmwCrypt(), + "1619d7adc23f4f633f11014d2f22b7d8", // password + "c651798d2d9da38f86654107ae60c86a", // PassWord1 + "1fff869a744700cdb623a403c46e93ea", // &^%te$t?Pw@_ + "6436230e0effff37af79302147319dda"); // âË_3(íù* + } +}