This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 43647d0c72cc624b24056f3befd728ef4a082bef Author: Benoit Tellier <[email protected]> AuthorDate: Fri Dec 3 10:07:18 2021 +0700 JAMES-3674 DefaultUser.digestString: extract base64 encoding to a sub-method --- .../apache/james/user/lib/model/DefaultUser.java | 23 +++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/server/data/data-library/src/main/java/org/apache/james/user/lib/model/DefaultUser.java b/server/data/data-library/src/main/java/org/apache/james/user/lib/model/DefaultUser.java index c63f1cd..96740ab 100644 --- a/server/data/data-library/src/main/java/org/apache/james/user/lib/model/DefaultUser.java +++ b/server/data/data-library/src/main/java/org/apache/james/user/lib/model/DefaultUser.java @@ -143,25 +143,26 @@ public class DefaultUser implements User, Serializable { * if the algorithm passed in cannot be found */ static String digestString(String pass, Algorithm algorithm, String salt) throws NoSuchAlgorithmException { - MessageDigest md; - ByteArrayOutputStream bos; - try { - md = MessageDigest.getInstance(algorithm.getName()); + MessageDigest md = MessageDigest.getInstance(algorithm.getName()); String saltedPass = applySalt(algorithm, pass, salt); byte[] digest = md.digest(saltedPass.getBytes(ISO_8859_1)); - bos = new ByteArrayOutputStream(); - OutputStream encodedStream = MimeUtility.encode(bos, "base64"); - encodedStream.write(digest); - if (!algorithm.isLegacy()) { - encodedStream.close(); - } - return bos.toString(ISO_8859_1); + return encodeInBase64(algorithm, digest); } catch (IOException | MessagingException e) { throw new RuntimeException("Fatal error", e); } } + private static String encodeInBase64(Algorithm algorithm, byte[] digest) throws MessagingException, IOException { + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + OutputStream encodedStream = MimeUtility.encode(bos, "base64"); + encodedStream.write(digest); + if (!algorithm.isLegacy()) { + encodedStream.close(); + } + return bos.toString(ISO_8859_1); + } + static String applySalt(Algorithm algorithm, String pass, String salt) { if (algorithm.isSalted()) { return salt + pass; --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
