Use centralized methods
authorMathieu Baudier <mbaudier@argeo.org>
Wed, 22 Nov 2017 13:04:04 +0000 (14:04 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Wed, 22 Nov 2017 13:04:04 +0000 (14:04 +0100)
org.argeo.enterprise/src/org/argeo/osgi/useradmin/AuthenticatingUser.java

index 2689d34fcae39c4d6b55738955aeab59d6d5697b..6bf1441b504fa5c9671d84818beeb42379601783 100644 (file)
@@ -1,9 +1,5 @@
 package org.argeo.osgi.useradmin;
 
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.util.Arrays;
 import java.util.Dictionary;
 import java.util.Hashtable;
 
@@ -38,7 +34,7 @@ public class AuthenticatingUser implements User {
                this.name = name;
                credentials = new Hashtable<>();
                credentials.put(SHARED_STATE_NAME, name);
-               byte[] pwd = charsToBytes(password);
+               byte[] pwd = DigestUtils.charsToBytes(password);
                credentials.put(SHARED_STATE_PWD, pwd);
        }
 
@@ -69,22 +65,4 @@ public class AuthenticatingUser implements User {
                throw new UnsupportedOperationException();
        }
 
-       static byte[] charsToBytes(char[] chars) {
-               CharBuffer charBuffer = CharBuffer.wrap(chars);
-               ByteBuffer byteBuffer = Charset.forName("UTF-8").encode(charBuffer);
-               byte[] bytes = Arrays.copyOfRange(byteBuffer.array(), byteBuffer.position(), byteBuffer.limit());
-               Arrays.fill(charBuffer.array(), '\u0000'); // clear sensitive data
-               Arrays.fill(byteBuffer.array(), (byte) 0); // clear sensitive data
-               return bytes;
-       }
-
-       static char[] bytesToChars(byte[] bytes) {
-               ByteBuffer byteBuffer = ByteBuffer.wrap(bytes);
-               CharBuffer charBuffer = Charset.forName("UTF-8").decode(byteBuffer);
-               char[] chars = Arrays.copyOfRange(charBuffer.array(), charBuffer.position(), charBuffer.limit());
-               Arrays.fill(charBuffer.array(), '\u0000'); // clear sensitive data
-               Arrays.fill(byteBuffer.array(), (byte) 0); // clear sensitive data
-               return chars;
-       }
-
 }