summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src/main
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2012-02-15 09:13:55 +0000
committerKeith Wall <kwall@apache.org>2012-02-15 09:13:55 +0000
commit7be5af63ce577a5e791da305e2c8d518afc6a730 (patch)
tree420404aadfc9f1891f0d078c56c185af223fb49a /qpid/java/broker/src/main
parent5f25d25400edcd068eecf374cc988e9b83464e5b (diff)
downloadqpid-python-7be5af63ce577a5e791da305e2c8d518afc6a730.tar.gz
QPID-3840: added automated tests for the Java Broker's qpid-passwd script and Passwd class
Applied patch from Andrew MacBean <andymacbean@gmail.com> and Philip Harvey <phil@philharveyonline.com> git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1244406 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src/main')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/tools/security/Passwd.java48
1 files changed, 19 insertions, 29 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/tools/security/Passwd.java b/qpid/java/broker/src/main/java/org/apache/qpid/tools/security/Passwd.java
index ae150708ca..cd833c89c4 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/tools/security/Passwd.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/tools/security/Passwd.java
@@ -14,26 +14,26 @@
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
- * under the License.
+ * under the License.
+ *
*
- *
*/
package org.apache.qpid.tools.security;
-import org.apache.commons.codec.binary.Base64;
-
import java.io.IOException;
-import java.io.PrintStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.Charset;
import java.security.DigestException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
+import org.apache.commons.codec.binary.Base64;
+
+/**
+ * Utility to generate user:encodedPassword string for use in md5passwd
+ */
public class Passwd
{
- private Passwd()
- {
- }
-
public static void main(String args[]) throws NoSuchAlgorithmException, DigestException, IOException
{
if (args.length != 2)
@@ -42,7 +42,14 @@ public class Passwd
System.exit(0);
}
- byte[] data = args[1].getBytes("utf-8");
+ Passwd passwd = new Passwd();
+ String output = passwd.getOutput(args[0], args[1]);
+ System.out.println(output);
+ }
+
+ public String getOutput(String userName, String password) throws UnsupportedEncodingException, NoSuchAlgorithmException
+ {
+ byte[] data = password.getBytes("utf-8");
MessageDigest md = MessageDigest.getInstance("MD5");
@@ -57,24 +64,7 @@ public class Passwd
byte[] encoded = b64.encode(digest);
- output(args[0], encoded);
- }
-
- private static void output(String user, byte[] encoded) throws IOException
- {
- PrintStream ps = new PrintStream(System.out);
-
- user += ":";
- ps.write(user.getBytes("utf-8"));
-
- for (byte b : encoded)
- {
- ps.write(b);
- }
-
- ps.println();
-
- ps.flush();
- ps.close();
+ String encodedStr = new String(encoded, Charset.forName("utf-8"));
+ return userName + ":" + encodedStr;
}
}