List of usage examples for org.apache.commons.codec.digest DigestUtils sha384Hex
public static String sha384Hex(String data)
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 } } } }