Xephi 5127d5e70a Update 3.2
//Changes 3.2://
* Fix Password showed in console ( support for Log4J )
* Quit Location will be more precise ( now double instead of int )
* Force command after the /register too
* Close inventory when player try to open one unlogged
* Fix old password supports
* Remove some Magic Values ( 1.7.2+ )
* Fix threads not start correctly
* Add a recall email adding message
* Fix catpcha messages
* Add multilines messages ( add &n )
* Fix some inventory problem
* Fix some events problem
* Call login event after /register
2014-01-07 02:59:08 +01:00

33 lines
1.0 KiB
Java

package fr.xephi.authme.security.crypts;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import fr.xephi.authme.AuthMe;
public class WBB3 implements EncryptionMethod {
@Override
public String getHash(String password, String salt)
throws NoSuchAlgorithmException {
return getSHA1(salt.concat(getSHA1(salt.concat(getSHA1(password)))));
}
@Override
public boolean comparePassword(String hash, String password,
String playerName) throws NoSuchAlgorithmException {
String salt = AuthMe.getInstance().database.getAuth(playerName).getSalt();
return hash.equals(getHash(password, salt));
}
private static String getSHA1(String message) throws NoSuchAlgorithmException {
MessageDigest sha1 = MessageDigest.getInstance("SHA1");
sha1.reset();
sha1.update(message.getBytes());
byte[] digest = sha1.digest();
return String.format("%0" + (digest.length << 1) + "x", new BigInteger(1,digest));
}
}