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

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

Introduction

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

Prototype

public static String sha384Hex(String data) 

Source Link

Usage

From source file:com.floragunn.searchguard.authentication.backend.simple.SettingsBasedAuthenticationBackend.java

@Override
public User authenticate(final com.floragunn.searchguard.authentication.AuthCredentials authCreds)
        throws AuthException {
    final String user = authCreds.getUsername();
    final char[] password = authCreds.getPassword();
    authCreds.clear();//from w  w  w.  j  a v  a  2s .c  o m

    String pass = settings.get(ConfigConstants.SEARCHGUARD_AUTHENTICATION_SETTINGSDB_USER + user, null);
    String digest = settings.get(ConfigConstants.SEARCHGUARD_AUTHENTICATION_SETTINGSDB_DIGEST, null);

    if (digest != null) {

        digest = digest.toLowerCase();

        switch (digest) {

        case "sha":
        case "sha1":
            pass = DigestUtils.sha1Hex(pass);
            break;
        case "sha256":
            pass = DigestUtils.sha256Hex(pass);
            break;
        case "sha384":
            pass = DigestUtils.sha384Hex(pass);
            break;
        case "sha512":
            pass = DigestUtils.sha512Hex(pass);
            break;

        default:
            pass = DigestUtils.md5Hex(pass);
            break;
        }

    }

    if (pass != null && Arrays.equals(pass.toCharArray(), password)) {
        return new User(user);
    }

    throw new AuthException("No user " + user + " or wrong password (digest: "
            + (digest == null ? "plain/none" : digest) + ")");
}

From source file:io.apiman.gateway.engine.policies.auth.JDBCIdentityValidator.java

/**
 * @see io.apiman.gateway.engine.policies.auth.IIdentityValidator#validate(java.lang.String, java.lang.String, io.apiman.gateway.engine.beans.ServiceRequest, io.apiman.gateway.engine.policy.IPolicyContext, java.lang.Object, io.apiman.gateway.engine.async.IAsyncHandler)
 *//*from  www.  j  a  v  a2  s.  co  m*/
@Override
public void validate(String username, String password, ServiceRequest request, IPolicyContext context,
        JDBCIdentitySource config, IAsyncResultHandler<Boolean> handler) {
    DataSource ds = lookupDatasource(config);
    String sqlPwd = password;
    switch (config.getHashAlgorithm()) {
    case MD5:
        sqlPwd = DigestUtils.md5Hex(password);
        break;
    case SHA1:
        sqlPwd = DigestUtils.shaHex(password);
        break;
    case SHA256:
        sqlPwd = DigestUtils.sha256Hex(password);
        break;
    case SHA384:
        sqlPwd = DigestUtils.sha384Hex(password);
        break;
    case SHA512:
        sqlPwd = DigestUtils.sha512Hex(password);
        break;
    case None:
    default:
        break;
    }
    String query = config.getQuery();
    Connection conn = null;
    boolean validated = false;
    try {
        conn = ds.getConnection();
        conn.setReadOnly(true);
        PreparedStatement statement = conn.prepareStatement(query);
        statement.setString(1, username);
        statement.setString(2, sqlPwd);
        ResultSet resultSet = statement.executeQuery();
        if (resultSet.next()) {
            validated = true;
        }
        resultSet.close();
    } catch (Exception e) {
        throw new RuntimeException(e);
    } finally {
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
            }
        }
    }

    handler.handle(AsyncResultImpl.create(validated));
}

From source file:com.petalmd.armor.authentication.backend.simple.SettingsBasedAuthenticationBackend.java

@Override
public User authenticate(final com.petalmd.armor.authentication.AuthCredentials authCreds)
        throws AuthException {
    final String user = authCreds.getUsername();
    final String clearTextPassword = authCreds.getPassword() == null ? null
            : new String(authCreds.getPassword());
    authCreds.clear();/*from  ww  w  .  j av a  2  s  . co m*/

    String digest = settings.get(ConfigConstants.ARMOR_AUTHENTICATION_SETTINGSDB_DIGEST, null);
    final String storedPasswordOrDigest = settings
            .get(ConfigConstants.ARMOR_AUTHENTICATION_SETTINGSDB_USER + user, null);

    if (!StringUtils.isEmpty(clearTextPassword) && !StringUtils.isEmpty(storedPasswordOrDigest)) {

        String passwordOrHash = clearTextPassword;

        if (digest != null) {

            digest = digest.toLowerCase();

            switch (digest) {

            case "sha":
            case "sha1":
                passwordOrHash = DigestUtils.sha1Hex(clearTextPassword);
                break;
            case "sha256":
                passwordOrHash = DigestUtils.sha256Hex(clearTextPassword);
                break;
            case "sha384":
                passwordOrHash = DigestUtils.sha384Hex(clearTextPassword);
                break;
            case "sha512":
                passwordOrHash = DigestUtils.sha512Hex(clearTextPassword);
                break;

            default:
                passwordOrHash = DigestUtils.md5Hex(clearTextPassword);
                break;
            }

        }

        if (storedPasswordOrDigest.equals(passwordOrHash)) {
            return new User(user);
        }

    }

    throw new AuthException("No user " + user + " or wrong password (digest: "
            + (digest == null ? "plain/none" : digest) + ")");
}

From source file:edu.jhuapl.openessence.security.OEPasswordEncoder.java

/**
 *
 * @param rawPass/*from  w  w w  .  j  a  v  a 2  s  .  c  o  m*/
 * @param encryptDetails an {@link EncryptionDetails} object
 * @return The encrypted version of the password
 * @throws DataAccessException
 */
@Override
public String encodePassword(String rawPass, Object encryptDetails) throws DataAccessException {
    if ((encryptDetails == null) || !(encryptDetails.getClass().equals(EncryptionDetails.class))) {
        return "";
    }
    String encPass = "";
    String salt = ((EncryptionDetails) encryptDetails).getSalt();
    String algorithm = ((EncryptionDetails) encryptDetails).getAlgorithm();
    if (algorithm.equals("SHA-1")) {
        log.warn("SHA-1 DEPRECATED, retained for compatibility.");
        encPass = DigestUtils.sha1Hex(salt + rawPass);
    } else if (algorithm.equals("SHA-256")) {
        log.warn("SHA-256 DEPRECATED, retained for compatibility.");
        encPass = DigestUtils.sha256Hex(salt + rawPass);
    } else if (algorithm.equals("SHA-384")) {
        log.warn("SHA-384 DEPRECATED, retained for compatibility.");
        encPass = DigestUtils.sha384Hex(salt + rawPass);
    } else if (algorithm.equals("SHA-512")) {
        log.warn("SHA-512 DEPRECATED, retained for compatibility.");
        encPass = DigestUtils.sha512Hex(salt + rawPass);
    } else if (algorithm.equals("BCrypt")) {
        encPass = BCrypt.hashpw(rawPass, salt);
    }
    return encPass;
}

From source file:net.orzo.lib.Strings.java

/**
 *
 *///from   w w w. jav  a  2s. co  m
public Object hash(String value, String algorithm) {
    if (value == null) {
        throw new RuntimeException("null value not accepted in hash() function");
    }
    switch (algorithm.toLowerCase()) {
    case "md5":
        return DigestUtils.md5Hex(value);
    case "sha1":
        return DigestUtils.sha1Hex(value);
    case "sha256":
        return DigestUtils.sha256Hex(value);
    case "sha384":
        return DigestUtils.sha384Hex(value);
    case "sha512":
        return DigestUtils.sha512Hex(value);
    default:
        throw new RuntimeException(String.format("Unknown hash function '%s'", algorithm));
    }
}

From source file:co.cask.hydrator.transforms.Hasher.java

@Override
public void transform(StructuredRecord in, Emitter<StructuredRecord> emitter) throws Exception {
    StructuredRecord.Builder builder = StructuredRecord.builder(in.getSchema());

    List<Schema.Field> fields = in.getSchema().getFields();
    for (Schema.Field field : fields) {
        String name = field.getName();
        if (okToHash(name) && field.getSchema().getType() == Schema.Type.STRING) {
            String value = in.get(name);
            String digest = value;
            switch (config.hash.toLowerCase()) {
            case "md2":
                digest = DigestUtils.md2Hex(value);
                break;
            case "md5":
                digest = DigestUtils.md5Hex(value);
                break;
            case "sha1":
                digest = DigestUtils.sha1Hex(value);
                break;
            case "sha256":
                digest = DigestUtils.sha256Hex(value);
                break;
            case "sha384":
                digest = DigestUtils.sha384Hex(value);
                break;
            case "sha512":
                digest = DigestUtils.sha256Hex(value);
                break;
            }//from w ww.  j a v a2  s .c  om
            builder.set(name, digest);
        } else {
            builder.set(name, in.get(name));
        }
    }
    emitter.emit(builder.build());
}

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

@Override
public void transform(StructuredRecord in, Emitter<StructuredRecord> emitter) throws Exception {
    StructuredRecord.Builder builder = StructuredRecord.builder(in.getSchema());

    List<Schema.Field> fields = in.getSchema().getFields();
    for (Schema.Field field : fields) {
        String name = field.getName();
        if (fieldSet.contains(name) && field.getSchema().getType() == Schema.Type.STRING) {
            String value = in.get(name);
            String digest = value;
            switch (config.hash.toLowerCase()) {
            case "md2":
                digest = DigestUtils.md2Hex(value);
                break;
            case "md5":
                digest = DigestUtils.md5Hex(value);
                break;
            case "sha1":
                digest = DigestUtils.sha1Hex(value);
                break;
            case "sha256":
                digest = DigestUtils.sha256Hex(value);
                break;
            case "sha384":
                digest = DigestUtils.sha384Hex(value);
                break;
            case "sha512":
                digest = DigestUtils.sha512Hex(value);
                break;
            }/*from   w w  w .ja va 2s  .  com*/
            builder.set(name, digest);
        } else {
            builder.set(name, in.get(name));
        }
    }
    emitter.emit(builder.build());
}

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

@Test
public void testHasherSHA384() throws Exception {
    Transform<StructuredRecord, StructuredRecord> transform = new Hasher(new Hasher.Config("SHA384", "a,b,e"));
    transform.initialize(null);//from w  w w .  j ava  2s.c om

    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.sha384Hex("Field A"), emitter.getEmitted().get(0).get("a"));
    Assert.assertEquals(DigestUtils.sha384Hex("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.sha384Hex("Field E"), emitter.getEmitted().get(0).get("e"));
}

From source file:com.nebkat.plugin.text.TextPlugin.java

@EventHandler
@CommandFilter("hash")
public void onHashCommand(CommandEvent e) {
    if (e.getParams().length < 2) {
        e.showUsage(getBot());/*  w ww .  j a va 2 s  .  c o  m*/
        return;
    }
    String algorithm = e.getParams()[0];
    String text = e.getRawParams().substring(algorithm.length() + 1);
    String result = "Algorithm unsupported";
    if (algorithm.equalsIgnoreCase("md5")) {
        result = DigestUtils.md5Hex(text);
    } else if (algorithm.equalsIgnoreCase("md2")) {
        result = DigestUtils.md2Hex(text);
    } else if (algorithm.equalsIgnoreCase("sha1") || algorithm.equalsIgnoreCase("sha")) {
        result = DigestUtils.sha1Hex(text);
    } else if (algorithm.equalsIgnoreCase("sha256")) {
        result = DigestUtils.sha256Hex(text);
    } else if (algorithm.equalsIgnoreCase("sha384")) {
        result = DigestUtils.sha384Hex(text);
    } else if (algorithm.equalsIgnoreCase("sha512")) {
        result = DigestUtils.sha512Hex(text);
    }
    Irc.message(e.getSession(), e.getTarget(), e.getSource().getNick() + ": " + result);
}

From source file:edu.kit.dama.staging.processor.impl.InputHashOP.java

/**
 * Hash a single file using the internally defined hash algorithm.
 *
 * @param pFile The file to hash//from w  ww.  ja  v  a 2s.c o  m
 *
 * @return The hash value
 *
 * @throws IOException If pFile cannot be read
 */
private String hashFile(File pFile) throws IOException {
    LOGGER.debug("Hashing file {}", pFile.getAbsolutePath());
    InputStream is = null;
    try {
        is = new FileInputStream(pFile);
        String hash;
        switch (hashType) {
        case SHA:
            hash = DigestUtils.sha1Hex(is);
            break;
        case SHA256:
            hash = DigestUtils.sha256Hex(is);
            break;
        case SHA384:
            hash = DigestUtils.sha384Hex(is);
            break;
        case SHA512:
            hash = DigestUtils.sha512Hex(is);
            break;
        default:
            hash = DigestUtils.md5Hex(is);
        }
        return hash;
    } finally {
        if (is != null) {
            try {
                is.close();
            } catch (IOException ioe) {
                //ignore
            }
        }
    }
}