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:com.zimbra.cs.account.oauth.utils.OAuthServiceProvider.java

/**
 * Generate a verifier./*  w  w  w.j  ava 2  s .c o  m*/
 *
 * @throws OAuthException
 */
public static synchronized void generateVerifier(OAuthAccessor accessor)
        throws OAuthException, ServiceException {

    String consumer_key = (String) accessor.consumer.getProperty("key");

    String verifier_data = consumer_key + System.nanoTime() + accessor.requestToken;
    String verifier = DigestUtils.sha256Hex(verifier_data);

    ZimbraLog.oauth.debug("generated verifier:" + verifier);
    accessor.setProperty(OAuth.OAUTH_VERIFIER, verifier);

    // add to memcache
    OAuthTokenCache.put(accessor, OAuthTokenCache.REQUEST_TOKEN_TYPE);
}

From source file:com.screenslicer.common.CommonUtil.java

public static String asHash(Map<String, Object> map) {
    StringBuilder builder = new StringBuilder();
    String[] entries = new String[map.size()];
    int cur = 0;/*from w w  w .j  a v a2s . c  om*/
    for (Map.Entry<String, Object> entry : map.entrySet()) {
        String value = "";
        if (entry.getValue() instanceof String) {
            value = (String) entry.getValue();
        }
        entries[cur++] = entry.getKey() + ":" + value + ",";
    }
    Arrays.sort(entries);
    for (int i = 0; i < entries.length; i++) {
        builder.append(entries[i]);
    }
    return DigestUtils.sha256Hex(builder.toString());
}

From source file:it.greenvulcano.gvesb.iam.service.internal.GVUsersManager.java

@Override
public User changeUserPassword(String username, String oldPassword, String newPassword)
        throws UserNotFoundException, PasswordMissmatchException, InvalidPasswordException,
        UnverifiableUserException {//from ww w .ja  v  a  2  s. co m

    User user = userRepository.get(username).orElseThrow(() -> new UserNotFoundException(username));
    if (!newPassword.matches(User.PASSWORD_PATTERN))
        throw new InvalidPasswordException(newPassword);
    if (!user.getPassword().isPresent())
        throw new UnverifiableUserException(username);

    user.setUsername(username);
    user.setPassword(DigestUtils.sha256Hex(newPassword));
    user.setPasswordTime(new Date());
    user.setExpired(false);

    userRepository.add(user);

    return user;
}

From source file:com.gitblit.manager.FilestoreManager.java

@Override
public FilestoreModel.Status uploadBlob(String oid, long size, UserModel user, RepositoryModel repo,
        InputStream streamIn) {// w  w  w  . ja v  a  2  s.  co m

    //Access control and object logic
    Status state = addObject(oid, size, user, repo);

    if (state != Status.Upload_Pending) {
        return state;
    }

    FilestoreModel model = fileCache.get(oid);

    if (!model.actionUpload(user)) {
        return Status.Upload_In_Progress;
    } else {
        long actualSize = 0;
        File file = getStoragePath(oid);

        try {
            file.getParentFile().mkdirs();
            file.createNewFile();

            try (FileOutputStream streamOut = new FileOutputStream(file)) {

                actualSize = IOUtils.copyLarge(streamIn, streamOut);

                streamOut.flush();
                streamOut.close();

                if (model.getSize() != actualSize) {
                    model.setStatus(Status.Error_Size_Mismatch, user);

                    logger.warn(MessageFormat.format(
                            "Failed to upload blob {0} due to size mismatch, expected {1} got {2}", oid,
                            model.getSize(), actualSize));
                } else {
                    String actualOid = "";

                    try (FileInputStream fileForHash = new FileInputStream(file)) {
                        actualOid = DigestUtils.sha256Hex(fileForHash);
                        fileForHash.close();
                    }

                    if (oid.equalsIgnoreCase(actualOid)) {
                        model.setStatus(Status.Available, user);
                    } else {
                        model.setStatus(Status.Error_Hash_Mismatch, user);

                        logger.warn(MessageFormat.format(
                                "Failed to upload blob {0} due to hash mismatch, got {1}", oid, actualOid));
                    }
                }
            }
        } catch (Exception e) {

            model.setStatus(Status.Error_Unknown, user);
            logger.warn(MessageFormat.format("Failed to upload blob {0}", oid), e);
        } finally {
            saveFilestoreModel(model);
        }

        if (model.isInErrorState()) {
            file.delete();
            model.removeRepository(repo.name);
        }
    }

    return model.getStatus();
}

From source file:it.greenvulcano.gvesb.iam.service.internal.GVUsersManager.java

@Override
public User validateUser(String username, String password) throws UserNotFoundException,
        PasswordMissmatchException, UserExpiredException, UnverifiableUserException {

    User user = userRepository.get(username).orElseThrow(() -> new UserNotFoundException(username));
    if (user.getPassword().orElseThrow(() -> new UnverifiableUserException(username))
            .equals(DigestUtils.sha256Hex(password))) {
        if (user.isExpired()) {
            throw new UserExpiredException(username);
        } else if (!user.isEnabled()) {
            throw new UserNotFoundException(username);
        }//from www .j av  a 2s. co  m
    } else {
        throw new PasswordMissmatchException(username);
    }

    return user;

}

From source file:com.formkiq.core.dao.FolderDaoImplTest.java

/**
 * testDeleteForm01()./*from   ww w  .j  ava  2 s .  com*/
 */
@Transactional
@Test
public void testDeleteForm01() {
    // given
    String folderid = UUID.randomUUID().toString();
    UUID formId = UUID.randomUUID();

    User user = createUser("client", UserRole.ROLE_ADMIN);

    Asset asset = createAsset("test");

    String sha256hash = DigestUtils.sha256Hex(folderid + " " + formId);

    FolderForm form = new FolderForm();
    form.setType(ClientFormType.FORM);
    form.setFolderid(UUID.fromString(folderid));
    form.setUUID(formId);
    form.setSha1hash("FFFF");
    form.setAssetid(asset.getAssetId());
    form.setData(JSON);
    form.setStatus(FolderFormStatus.ACTIVE);
    form.setInsertedDate(new Date());
    form.setUpdatedDate(new Date());
    this.folderDao.saveForm(user, form, sha256hash);

    FolderAccess access = new FolderAccess();
    access.setStatus(FolderStatus.ACTIVE);
    access.setFolderid(form.getFolderid());
    access.setUserid(user.getUserid());
    access.setPermissions(FolderPermission.PERM_FORM_ADMIN.name());
    this.folderDao.saveFolderAccess(access);

    getEntityManager().flush();

    // when
    FolderForm result = this.folderDao.findForm(user, folderid, formId.toString()).getLeft();

    // then
    assertEquals(form, result);

    // when
    this.folderDao.deleteForm(folderid, formId.toString(), false);
    getEntityManager().flush();
    getEntityManager().clear();

    // then
    result = this.folderDao.findForm(user, folderid, formId.toString()).getLeft();
    assertEquals(FolderFormStatus.DELETED, result.getStatus());
    assertNotNull(this.assetDao.findAsset(asset.getAssetId()));
}

From source file:com.nibss.util.CentralPayMerchant.java

private String getHashValue(String stringText) {
    String sha256hex = DigestUtils.sha256Hex(stringText + this.SECRET_KEY);
    return sha256hex;
}

From source file:io.wcm.devops.maven.nodejsproxy.resource.MavenProxyResource.java

private Response getBinary(String url, String version, boolean getChecksum, String expectedChecksum)
        throws IOException {
    log.info("Proxy file: {}", url);
    HttpGet get = new HttpGet(url);
    HttpResponse response = httpClient.execute(get);
    if (response.getStatusLine().getStatusCode() == HttpServletResponse.SC_OK) {
        byte[] data = EntityUtils.toByteArray(response.getEntity());

        // validate checksum
        if (expectedChecksum != null) {
            String remoteChecksum = DigestUtils.sha256Hex(data);
            if (!StringUtils.equals(expectedChecksum, remoteChecksum)) {
                log.warn("Reject file: {} - checksum comparison failed - expected: {}, actual: {}", url,
                        expectedChecksum, remoteChecksum);
                return Response.status(Response.Status.NOT_FOUND).build();
            }/*from   w ww.  ja va  2  s .  co m*/
        }

        if (getChecksum) {
            return Response.ok(DigestUtils.sha1Hex(data)).type(MediaType.TEXT_PLAIN).build();
        } else {
            return Response.ok(data).type(MediaType.APPLICATION_OCTET_STREAM)
                    .header(CONTENT_LENGTH,
                            response.containsHeader(CONTENT_LENGTH)
                                    ? response.getFirstHeader(CONTENT_LENGTH).getValue()
                                    : null)
                    .build();
        }
    } else {
        EntityUtils.consumeQuietly(response.getEntity());
        return Response.status(Response.Status.NOT_FOUND).build();
    }
}

From source file:de.dentrassi.rpm.builder.YumMojo.java

private String makeChecksum(final Path path) throws IOException {
    try (InputStream is = Files.newInputStream(path)) {
        return DigestUtils.sha256Hex(is).toLowerCase();
    }//  w  ww .ja v a  2  s  . c o m
}

From source file:ec.edu.chyc.manejopersonal.util.ServerUtils.java

/***
 * Devolver el hash SHA-256 del texto /*from  ww w  .j a v a  2 s  . co m*/
 * @param input Texto a codificar en hash
 * @return Hash del input
 */
static public String sha256(String input) {
    return DigestUtils.sha256Hex(input);
}