Example usage for org.apache.commons.codec.digest DigestUtils sha256Hex

List of usage examples for org.apache.commons.codec.digest DigestUtils sha256Hex

Introduction

In this page you can find the example usage for org.apache.commons.codec.digest DigestUtils sha256Hex.

Prototype

public static String sha256Hex(String data) 

Source Link

Usage

From source file:it.greenvulcano.gvesb.gviamx.service.internal.EmailChangeManager.java

public void createEmailChangeRequest(String currentEmailAddress, String newEmailAddress)
        throws UserNotFoundException, UserExistException {

    if (newEmailAddress == null || !newEmailAddress.matches(UserActionRequest.EMAIL_PATTERN)) {
        throw new IllegalArgumentException("Invalid email: " + newEmailAddress);
    }// w  ww  .  java2s  . com

    try {
        usersManager.getUser(newEmailAddress.toLowerCase());
        throw new UserExistException(newEmailAddress);
    } catch (UserNotFoundException e) {

        if (usersManager
                .searchUsers(
                        SearchCriteria.builder().byEmail(newEmailAddress.toLowerCase()).limitedTo(1).build())
                .getTotalCount() > 0) {
            throw new UserExistException(newEmailAddress);
        }
    }

    User user = usersManager.getUser(currentEmailAddress.toLowerCase());

    EmailChangeRequest request = repository.get(newEmailAddress.toLowerCase(), EmailChangeRequest.class)
            .orElseGet(EmailChangeRequest::new);
    request.setUser((UserJPA) user);
    request.setEmail(newEmailAddress.toLowerCase());
    request.setIssueTime(new Date());
    request.setExpireTime(expireTime);
    request.setNotificationStatus(NotificationStatus.PENDING);

    byte[] token = new byte[4];
    secureRandom.nextBytes(token);

    String clearTextToken = String.format(Locale.US, "%02x%02x%02x%02x",
            IntStream.range(0, token.length).mapToObj(i -> Byte.valueOf(token[i])).toArray());
    request.setToken(DigestUtils.sha256Hex(clearTextToken));

    repository.add(request);

    request.setClearToken(clearTextToken);
    notificationServices.stream()
            .map(n -> new NotificationManager.NotificationTask(n, request, repository, "update"))
            .forEach(executor::submit);

}

From source file:net.solarnetwork.central.dras.dao.ibatis.test.IbatisUserDaoTest.java

@Test
public void insertUser() {
    User user = new User();
    user.setAddress(new String[] { "One", "Two" });
    user.setDisplayName("Test User");
    user.setEnabled(Boolean.TRUE);
    user.setPassword(DigestUtils.sha256Hex("password"));
    user.setUsername("foouser");
    user.setVendor("vendor");

    logger.debug("Inserting new User: " + user);

    Long id = userDao.store(user);
    assertNotNull(id);//from www. j a  v a  2s. c om

    User entity = userDao.get(id);
    validateUser(user, entity);

    lastUserId = id;
}

From source file:it.greenvulcano.gvesb.gviamx.service.internal.PasswordResetManager.java

public PasswordResetRequest retrievePasswordResetRequest(String email, String token) {

    PasswordResetRequest signupRequest = repository.get(email.toLowerCase(), PasswordResetRequest.class)
            .orElseThrow(() -> new IllegalArgumentException("No password reset request found for this email"));

    if (DigestUtils.sha256Hex(token).equals(signupRequest.getToken())) {

        if (System.currentTimeMillis() > signupRequest.getIssueTime().getTime()
                + signupRequest.getExpireTime()) {
            repository.remove(signupRequest);
            throw new SecurityException("No password reset request found for this email");
        }/*from w ww  .ja v a  2  s  .co m*/

        return signupRequest;

    } else {
        throw new SecurityException("Token missmatch");
    }

}

From source file:com.whizzosoftware.hobson.bootstrap.api.hub.OSGIHubManager.java

@Override
public boolean authenticateAdmin(String userId, String hubId, String password) {
    String adminPassword = null;/*  ww  w  .j  a  va2s. co  m*/
    Configuration config = getConfiguration();

    // if there's configuration available, try to obtain the encrypted admin password
    if (config != null) {
        Dictionary d = config.getProperties();
        if (d != null) {
            adminPassword = (String) d.get(ADMIN_PASSWORD);
        }
    }

    // if it hasn't been set, default to the "admin" password
    if (adminPassword == null) {
        adminPassword = DigestUtils.sha256Hex("admin");
    }

    return (adminPassword.equals(password));
}

From source file:co.cask.hydrator.plugin.HasherTest.java

@Test
public void testHasherSHA256() throws Exception {
    Transform<StructuredRecord, StructuredRecord> transform = new Hasher(new Hasher.Config("SHA256", "a,b,e"));
    transform.initialize(null);// ww  w  .j a  v  a  2 s.co  m

    MockEmitter<StructuredRecord> emitter = new MockEmitter<>();
    transform.transform(StructuredRecord.builder(INPUT).set("a", "Field A").set("b", "Field B")
            .set("c", "Field C").set("d", 4).set("e", "Field E").build(), emitter);

    ;
    Assert.assertEquals(5, emitter.getEmitted().get(0).getSchema().getFields().size());
    Assert.assertEquals(DigestUtils.sha256Hex("Field A"), emitter.getEmitted().get(0).get("a"));
    Assert.assertEquals(DigestUtils.sha256Hex("Field B"), emitter.getEmitted().get(0).get("b"));
    Assert.assertEquals("Field C", emitter.getEmitted().get(0).get("c"));
    Assert.assertEquals(4, emitter.getEmitted().get(0).get("d"));
    Assert.assertEquals(DigestUtils.sha256Hex("Field E"), emitter.getEmitted().get(0).get("e"));
}

From source file:io.apiman.common.auth.AuthTokenUtil.java

/**
 * Generates a signature for the given token.
 * @param token//  w  w  w .j a  va 2 s. c om
 */
private static String generateSignature(AuthToken token) {
    StringBuilder builder = new StringBuilder();
    builder.append(token.getPrincipal());
    builder.append("||"); //$NON-NLS-1$
    builder.append(token.getExpiresOn().getTime());
    builder.append("||"); //$NON-NLS-1$
    builder.append(token.getIssuedOn().getTime());
    builder.append("||"); //$NON-NLS-1$
    TreeSet<String> roles = new TreeSet<String>(token.getRoles());
    boolean first = true;
    for (String role : roles) {
        if (first) {
            first = false;
        } else {
            builder.append(","); //$NON-NLS-1$
        }
        builder.append(role);
    }
    builder.append("||"); //$NON-NLS-1$
    builder.append(sharedSecretSource.getSharedSecret());
    return DigestUtils.sha256Hex(builder.toString());
}

From source file:com.supinfo.supfriends.ejb.controller.UserController.java

public String register() {

    FacesContext context = FacesContext.getCurrentInstance();
    if (userFacade.findByUsername(username) != null) {
        FacesMessage message = new FacesMessage("Username dj existant.");
        context.addMessage(getMybutton().getClientId(context), message);
        return null;
    }/*  w  w  w.ja va  2 s.c  o m*/
    UserEntity user = new UserEntity();
    user.setUserName(username);
    String passwordCrypted = DigestUtils.sha256Hex(password);
    user.setPassword(passwordCrypted);
    user.setFirstName(firstname);
    user.setLastName(lastname);
    user.setEmail(email);
    user.setPhoneNumber(getPhonenumber());
    user.setGroups(new ArrayList<GroupEntity>());
    user.setLatitude(Double.valueOf(latitude));
    user.setLongitude(Double.valueOf(longitude));

    Long id = userFacade.create(user);
    if (null == id) {
        FacesMessage message = new FacesMessage("Un problme est survenu lors de la sauvegarde.");
        context.addMessage(getMybutton().getClientId(context), message);
        return null;
    } else {
        HttpServletRequest req = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext()
                .getRequest();
        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("username",
                user.getUserName());
        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("id", user.getId());
        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("password", passwordCrypted);

        req.getSession().setAttribute("username", user.getUserName());
        req.getSession().setAttribute("id", user.getId());
        req.getSession().setAttribute("password", passwordCrypted);

        return "connected_home?faces-redirect=true";
    }
}

From source file:net.solarnetwork.central.dras.dao.ibatis.test.AbstractIbatisDaoTestSupport.java

/**
 * Insert a test user into the solardras.dras_user table.
 * /*from   ww  w  .  j  av a2s.co  m*/
 * @param id the user ID
 * @param username the user username
 */
protected void setupTestUser(Long id, String username) {
    simpleJdbcTemplate.update(
            "insert into solardras.dras_user (id,username,passwd,disp_name,enabled) values (?,?,?,?,?)", id,
            username, DigestUtils.sha256Hex("password"), "Unit Test", Boolean.TRUE);
}

From source file:com.vaushell.gfmongodb.MongoDbUserRealm.java

/**
 * Authenticate user.// w w w .j  av a 2s .  c  om
 *
 * @param username Username.
 * @param givenPassword Password
 * @return List of groups.
 * @throws LoginException
 */
String[] authenticate(final String username, final char[] givenPassword) throws LoginException {
    if (username == null || username.length() <= 0 || givenPassword == null || givenPassword.length <= 0) {
        throw new LoginException("username or password is empty");
    }

    final QueryBuilder builder = QueryBuilder.start(getProperty(PARAM_USERNAME)).is(username);
    final DBObject user = usersCollection.findOne(builder.get());
    if (user == null) {
        throw new LoginException("cannot find user with username '" + username + "'");
    }

    final String databasePassword = (String) user.get(getProperty(PARAM_PASSWORD));
    if (databasePassword == null || databasePassword.length() <= 0) {
        throw new LoginException("cannot find nonempty password for username '" + username + "'");
    }

    final String transformedPassword = DigestUtils.sha256Hex(new String(givenPassword));
    if (!databasePassword.equals(transformedPassword)) {
        throw new LoginException("password is wrong for username '" + username + "'");
    }

    final List<String> groups = getGroups(user);
    return groups.toArray(new String[groups.size()]);
}

From source file:com.livgrhm.kansas.resources.UserResource.java

@POST
@Timed//  w ww.j  a v  a  2s  .  co m
public Response addUser(User user) {
    // POST e.g. '{"firstName":"test", "lastName":"tester", "email":"test", "userStatus":"N", "userPasswordHash":"1234"}'

    // Create authentication hash
    java.sql.Date now = new java.sql.Date((new java.util.Date()).getTime());
    String userAuthHash = DigestUtils.sha256Hex(user.getUserPasswordHash() + now.getTime());
    user.setUserAuthHash(userAuthHash);
    user.setUserAuthTimestamp(now);

    try {
        int userId = this.dao.createUser(user.getFirstName(), user.getLastName(), user.getEmail(),
                user.getUserStatus(), user.getUserPasswordHash(), user.getUserAuthHash(),
                user.getUserAuthTimestamp());
        user.setUserId(userId);
        return Response.status(Response.Status.CREATED).entity(user).build();
    } catch (Exception e) {
        System.out.println("Exception creating user: " + e.getMessage());
        return Response.status(Response.Status.NOT_IMPLEMENTED).build();
    }
}