package kickr.security.service; import java.util.Base64; import kickr.db.entity.user.User; import org.jasypt.salt.RandomSaltGenerator; import org.jasypt.util.password.BasicPasswordEncryptor; import org.jasypt.util.password.StrongPasswordEncryptor; /** * * @author nikku */ public class CredentialsService { private static final RandomSaltGenerator randomGenerator = new RandomSaltGenerator(); private static final StrongPasswordEncryptor passwordEncryptor = new StrongPasswordEncryptor(); private static final BasicPasswordEncryptor basicEncryptor = new BasicPasswordEncryptor(); public String encryptPassword(String password) { return passwordEncryptor.encryptPassword(password); } public boolean matches(String password, String encryptedPassword) { return passwordEncryptor.checkPassword(password, encryptedPassword); } public String createSessionToken(User user) { return basicEncryptor.encryptPassword( user.getName() + Base64.getEncoder().encodeToString(randomGenerator.generateSalt(35))); } }