本文整理汇总了Java中org.mindrot.jbcrypt.BCrypt类的典型用法代码示例。如果您正苦于以下问题:Java BCrypt类的具体用法?Java BCrypt怎么用?Java BCrypt使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
BCrypt类属于org.mindrot.jbcrypt包,在下文中一共展示了BCrypt类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createUser
import org.mindrot.jbcrypt.BCrypt; //导入依赖的package包/类
@Transactional
public User createUser(String username, String firstName, String lastName, String email, String password,
String affiliation) {
User user = new User();
user.setUsername(username);
user.setFirstname(firstName);
user.setLastname(lastName);
user.setEmail(email);
user.setPassword(BCrypt.hashpw(password, BCrypt.gensalt()));
user.setRoles(Collections.singletonList(SecurityRole.findByName(DEFAULT_ROLE)));
user.setAffiliation(affiliation);
user.setCreatedOn(new Date());
user.save();
return user;
}
示例2: userSignUp
import org.mindrot.jbcrypt.BCrypt; //导入依赖的package包/类
public Credentials userSignUp(Credentials credentials) throws DAOException{
if (getUserByEmail(dao,credentials.getEmailAddress())!=null){
throw new DAOException(HttpStatus.SC_CONFLICT,"User Already Exists");
}
ServerCredentials toSave = new ServerCredentials(credentials);
toSave.decryptPassword(keyManager.getPrivateKey()); //decrypt the password
String de = toSave.getPassword();
String ha = BCrypt.hashpw(de, BCrypt.gensalt(10));
toSave.setOwnerId(dao.count(Credentials.class.getName()) + 1);
toSave.setPassword(ha); //hash the password for storage
toSave.setAuthToken(AuthTokenUtils.getNewToken(keyManager.getSymmetricKey(), toSave));
toSave.setRecoveryToken(AuthTokenUtils.getNewToken(keyManager.getSymmetricKey(), toSave));
dao.save(toSave);
return toSave;
}
示例3: login
import org.mindrot.jbcrypt.BCrypt; //导入依赖的package包/类
/**
* Logs in the user with email address and password.
* Returns the user on success.
*
* @param email The user's email address.
* @param password The user's plain text password.
* @return the user details.
*/
public NewCookie login(final String email, final String password) {
final SecurityUser candidate = dao.findUserByEmail(userClass, email);
if (candidate == null) {
throw new BadRequestException("notfound");
}
if (candidate.getPasswordHash() == null) {
throw new BadRequestException("invalid");
}
if (!BCrypt.checkpw(password, candidate.getPasswordHash())) {
throw new BadRequestException("incorrect");
}
return loginAs(candidate);
}
示例4: changePassword
import org.mindrot.jbcrypt.BCrypt; //导入依赖的package包/类
/**
* Changes the current user's password.
*
* @param oldPassword The old password.
* @param newPassword The new password.
* @param confirmNewPassword The confirmed new password.
*/
public void changePassword(final String oldPassword, final String newPassword, final String confirmNewPassword) {
requireLogin();
if (user.getPasswordHash() == null) {
throw new BadRequestException("unset");
}
if (!BCrypt.checkpw(oldPassword, user.getPasswordHash())) {
throw new BadRequestException("incorrect");
}
if (!newPassword.equals(confirmNewPassword)) {
throw new BadRequestException("mismatch");
}
if (newPassword.length() < MINIMUM_PASSWORD_LENGTH) {
throw new BadRequestException("short");
}
user.setPassword(newPassword);
dao.update(user);
}
示例5: authenticate
import org.mindrot.jbcrypt.BCrypt; //导入依赖的package包/类
/**
* Performs authentication on the provided employee.
*
* @param employeeId The id number of the employee to authenticate.
*
* @param plaintextPassword The plaintext password of the employee.
*
* @return The appropriate authenticationResult enum type.
*/
public AuthenticationResult authenticate(Long employeeId, String plaintextPassword) {
Employee employee = getEmployeeById(employeeId);
String hashed; // The encrypted (hashed) password of the employee.
try {
hashed = employee.getHashedPassword();
} catch (EntityNotFoundException e) {
return AuthenticationResult.FAILURE;
}
boolean passwordCorrect = BCrypt.checkpw(plaintextPassword, hashed);
if(passwordCorrect) {
return AuthenticationResult.SUCCESS;
} else {
return AuthenticationResult.FAILURE;
}
}
示例6: testUsers
import org.mindrot.jbcrypt.BCrypt; //导入依赖的package包/类
@Test
public void testUsers() throws Exception {
//FileUserController.load();
IUser user = new User();
user.setEmail("[email protected]");
user.setBcryptedPassword(BCrypt.hashpw("foxywords", BCrypt.gensalt()));
user.setUsername(user.getEmail());
user.setFamilyName("Von Colt");
user.setGivenName("Wolfgang");
UserController.instance().save(user);
User existing = (User) UserController.instance().forId(user.getId());
Assert.assertEquals(existing.getEmail(), user.getEmail());
existing = (User) UserController.instance().forUniqueKey("email", user.getEmail());
Assert.assertEquals(user.getGivenName(), existing.getGivenName());
}
示例7: updateUser
import org.mindrot.jbcrypt.BCrypt; //导入依赖的package包/类
@Transactional
public User updateUser(String email, String username, String firstName, String lastName, String password,
String affiliation) {
User user = User.find.where().eq("email", email).findUnique();
user.setUsername(username);
user.setFirstname(firstName);
user.setLastname(lastName);
user.setEmail(email);
user.setPassword(BCrypt.hashpw(password, BCrypt.gensalt()));
user.setRoles(Collections.singletonList(SecurityRole.findByName(DEFAULT_ROLE)));
user.setAffiliation(affiliation);
user.setLastActive(new Date());
user.update();
return user;
}
示例8: changePassword
import org.mindrot.jbcrypt.BCrypt; //导入依赖的package包/类
public Result changePassword() {
Form<ChangePass> form = formFactory.form(ChangePass.class).bindFromRequest();
if (form.hasErrors()) {
return badRequest(settings.render(form));
}
ChangePass changePass = form.get();
// Get the currently logged in user
long uid = Long.parseLong(session().get("uid"));
User user = User.find.byId(uid);
// Update the password
String pass = changePass.getPassword();
String hash = BCrypt.hashpw(pass, BCrypt.gensalt());
user.setPassword(hash);
user.save();
flash("message", "Successfully updated your password.");
return redirect(
routes.Application.settings()
);
}
示例9: setPassword
import org.mindrot.jbcrypt.BCrypt; //导入依赖的package包/类
@Override
public void setPassword(String password) {
if (((getEncryption() == 0) || (!password.equalsIgnoreCase(getPassword()))) && (_um != null)) {
String pass;
switch (_um.getPasscrypt()) {
case 1: pass = Encrypt(password,"MD2"); setEncryption(1); break;
case 2: pass = Encrypt(password,"MD5"); setEncryption(2); break;
case 3: pass = Encrypt(password,"SHA-1"); setEncryption(3); break;
case 4: pass = Encrypt(password,"SHA-256"); setEncryption(4); break;
case 5: pass = Encrypt(password,"SHA-384"); setEncryption(5); break;
case 6: pass = Encrypt(password,"SHA-512"); setEncryption(6); break;
case 7: pass = BCrypt.hashpw(password, BCrypt.gensalt(_workload)); setEncryption(7); break;
default: pass = password; setEncryption(0); break;
}
if (pass != null) {
if (pass.length() < 2) {
logger.debug("Failed To Set Password, Length Too Short");
} else {
super.setPassword(pass);
}
}
} else {
super.setPassword(password);
}
}
示例10: getUser
import org.mindrot.jbcrypt.BCrypt; //导入依赖的package包/类
public static Optional<UserPermission> getUser(String username, String password) {
if (username == null || password == null || !users.containsKey(username)) {
return Optional.empty();
}
try {
UserPermission perm = users.get(username);
if (!BCrypt.checkpw(password, perm.getPassword())) {
return Optional.empty();
}
return Optional.of(perm);
} catch (IllegalArgumentException ignored) {
return Optional.empty();
}
}
示例11: login
import org.mindrot.jbcrypt.BCrypt; //导入依赖的package包/类
/**
* Login method which tries to lookup user with given email and password.
*
* @return Redirection link.
*/
public String login() {
FacesContext facesContext = FacesContext.getCurrentInstance();
User user = userService.findByEmail(email);
if (user == null || user.getPassword() == null
|| !BCrypt.checkpw(password, user.getPassword())) {
ResourceBundle bundle = ResourceBundle.getBundle("messages",
facesContext.getViewRoot().getLocale());
facesContext.addMessage(null, new FacesMessage(FacesMessage
.SEVERITY_FATAL, bundle.getString("common.error"),
bundle.getString("login.fail")));
return "";
}
user.setLastActivity(DateUtil.getDateTime());
user = userService.update(user);
facesContext.getExternalContext().getSessionMap().put(Constants.SESSION_MAP_KEY_USER, user);
return PATH_TO_COURSE_OVERVIEW;
}
示例12: initUserFromInput
import org.mindrot.jbcrypt.BCrypt; //导入依赖的package包/类
/**
* Initialises the user object from the user input.
* @Pre The user input(email,password,firstname,lastname) is valid.
* @return The generated registered User Object.
*/
private User initUserFromInput() {
final String hashPW = BCrypt.hashpw(password, BCrypt.gensalt());
final User newUser = new User();
/* Don't set language here. Only set the language column if the user
* explicitly requested it by changing his settings. JSF determines the
* locale it should use by looking at the HTTP Accept-Language Header.
* If it isn't set it uses the default-locale set in our
* faces-config.xml. */
newUser.setEmail(email);
newUser.setPassword(hashPW);
newUser.setFirstName(firstName);
newUser.setLastName(lastName);
newUser.setSalutation(salutation);
newUser.setMatriculationNumber(matriculationNumber);
newUser.addRole(GlobalRole.USER);
newUser.setLastActivity(DateUtil.getDateTime());
return newUser;
}
示例13: respondWith200_whenCreateAToken_ifProvidedBothAccountIdAndDescription
import org.mindrot.jbcrypt.BCrypt; //导入依赖的package包/类
@Test
public void respondWith200_whenCreateAToken_ifProvidedBothAccountIdAndDescription() throws Exception {
String newToken = createTokenFor(validTokenPayload)
.statusCode(200)
.body("token", is(notNullValue()))
.extract().path("token");
int apiKeyHashSize = 32;
String tokenApiKey = newToken.substring(0, newToken.length() - apiKeyHashSize);
String hashedToken = BCrypt.hashpw(tokenApiKey, SALT);
Optional<String> newTokenDescription = app.getDatabaseHelper().lookupColumnForTokenTable("description", TOKEN_HASH_COLUMN, hashedToken);
assertThat(newTokenDescription.get(), equalTo(TOKEN_DESCRIPTION));
Optional<String> newTokenAccountId = app.getDatabaseHelper().lookupColumnForTokenTable("account_id", TOKEN_HASH_COLUMN, hashedToken);
assertThat(newTokenAccountId.get(), equalTo(ACCOUNT_ID));
Optional<String> newCreatedByEmail = app.getDatabaseHelper().lookupColumnForTokenTable("created_by", TOKEN_HASH_COLUMN, hashedToken);
assertThat(newCreatedByEmail.get(), equalTo(USER_EMAIL));
Optional<String> newTokenType = app.getDatabaseHelper().lookupColumnForTokenTable("token_type", TOKEN_HASH_COLUMN, hashedToken);
assertThat(newTokenType.get(), equalTo(CARD.toString()));
}
示例14: authenticate
import org.mindrot.jbcrypt.BCrypt; //导入依赖的package包/类
@Override public Optional<User> authenticate(BasicCredentials credentials)
throws AuthenticationException {
User user = null;
String username = credentials.getUsername();
if (!User.isSanitizedUsername(username)) {
logger.info("Username: {} must match pattern: {}", username, User.USERNAME_PATTERN);
return Optional.empty();
}
String password = credentials.getPassword();
// Get hashed password column from BCrypt table by username
Optional<String> optionalHashedPwForUser = userDAO.getHashedPassword(username);
if (!optionalHashedPwForUser.isPresent()) {
return Optional.empty();
}
if (BCrypt.checkpw(password, optionalHashedPwForUser.get())) {
user = User.named(username);
}
return Optional.ofNullable(user);
}
示例15: updateUser
import org.mindrot.jbcrypt.BCrypt; //导入依赖的package包/类
@Override
public String updateUser(final String userName, final String emailAddress, final String hashedPassword) {
final INode remote = MessageContext.getSender();
if (!userName.equals(remote.getName())) {
logger.severe("Tried to update user permission, but not correct user, userName:" + userName + " node:" + remote);
return "Sorry, but I can't let you do that";
}
final DBUser user = new DBUser(
new DBUser.UserName(userName),
new DBUser.UserEmail(emailAddress));
if (!user.isValid()) {
return user.getValidationErrorMessage();
}
final HashedPassword password = new HashedPassword(hashedPassword);
try {
new UserController().updateUser(user,
password.isHashedWithSalt() ? password : new HashedPassword(BCrypt.hashpw(hashedPassword, BCrypt.gensalt())));
} catch (final IllegalStateException e) {
return e.getMessage();
}
return null;
}