package fr.xephi.authme.security.crypts; import fr.xephi.authme.security.crypts.description.HasSalt; import fr.xephi.authme.security.crypts.description.Recommendation; import fr.xephi.authme.security.crypts.description.SaltType; import fr.xephi.authme.security.crypts.description.Usage; import fr.xephi.authme.util.RandomStringUtils; import static fr.xephi.authme.security.HashUtils.sha1; @Recommendation(Usage.ACCEPTABLE) @HasSalt(value = SaltType.TEXT, length = 40) public class Wbb3 extends SeparateSaltMethod { @Override public String computeHash(String password, String salt, String name) { return sha1(salt.concat(sha1(salt.concat(sha1(password))))); } @Override public String generateSalt() { return RandomStringUtils.generateHex(40); } }