From 30e786e5899ad75b087a51a01f81c347ac7a5965 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Tue, 29 Jan 2013 13:59:41 -0800 Subject: [PATCH] Use UTF-8 when converting password strings to bytes for hashing to MD5. --- .../sourceforge/guacamole/net/basic/auth/Authorization.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/auth/Authorization.java b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/auth/Authorization.java index c04a5d644..cdb403ab6 100644 --- a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/auth/Authorization.java +++ b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/auth/Authorization.java @@ -1,5 +1,6 @@ package net.sourceforge.guacamole.net.basic.auth; +import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Map; @@ -195,9 +196,12 @@ public class Authorization { // Compare hashed password try { MessageDigest digest = MessageDigest.getInstance("MD5"); - String hashedPassword = getHexString(digest.digest(password.getBytes())); + String hashedPassword = getHexString(digest.digest(password.getBytes("UTF-8"))); return hashedPassword.equals(this.password.toUpperCase()); } + catch (UnsupportedEncodingException e) { + throw new UnsupportedOperationException("Unexpected lack of UTF-8 support.", e); + } catch (NoSuchAlgorithmException e) { throw new UnsupportedOperationException("Unexpected lack of MD5 support.", e); }