mirror of
https://github.com/AuthMe/AuthMeReloaded.git
synced 2025-01-12 02:40:39 +01:00
Fix #391 Wordpress algorithm fails sometimes
This commit is contained in:
parent
3b33dc774d
commit
07e7a8815b
@ -1,5 +1,7 @@
|
||||
package fr.xephi.authme.security.crypts;
|
||||
|
||||
import fr.xephi.authme.security.HashUtils;
|
||||
import fr.xephi.authme.security.MessageDigestAlgorithm;
|
||||
import fr.xephi.authme.security.crypts.description.HasSalt;
|
||||
import fr.xephi.authme.security.crypts.description.Recommendation;
|
||||
import fr.xephi.authme.security.crypts.description.SaltType;
|
||||
@ -7,12 +9,10 @@ import fr.xephi.authme.security.crypts.description.Usage;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.Arrays;
|
||||
|
||||
// TODO #391: Wordpress algorithm fails sometimes. Fix it and change the Recommendation to "ACCEPTABLE" if appropriate
|
||||
@Recommendation(Usage.DO_NOT_USE)
|
||||
@Recommendation(Usage.ACCEPTABLE)
|
||||
@HasSalt(value = SaltType.TEXT, length = 9)
|
||||
// Note ljacqu 20151228: Wordpress is actually a salted algorithm but salt generation is handled internally
|
||||
// and isn't exposed to the outside, so we treat it as an unsalted implementation
|
||||
@ -30,6 +30,7 @@ public class WORDPRESS extends UnsaltedMethod {
|
||||
byte[] t = new byte[count];
|
||||
System.arraycopy(src, 0, t, 0, src.length);
|
||||
Arrays.fill(t, src.length, count - 1, (byte) 0);
|
||||
src = t;
|
||||
}
|
||||
|
||||
do {
|
||||
@ -73,13 +74,7 @@ public class WORDPRESS extends UnsaltedMethod {
|
||||
if (salt.length() != 8) {
|
||||
return output;
|
||||
}
|
||||
MessageDigest md;
|
||||
try {
|
||||
md = MessageDigest.getInstance("MD5");
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
e.printStackTrace();
|
||||
return output;
|
||||
}
|
||||
MessageDigest md = HashUtils.getDigest(MessageDigestAlgorithm.MD5);
|
||||
byte[] pass = stringToUtf8(password);
|
||||
byte[] hash = md.digest(stringToUtf8(salt + password));
|
||||
do {
|
||||
|
Loading…
Reference in New Issue
Block a user