You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by dr...@apache.org on 2015/01/13 01:01:44 UTC

[1/2] directory-kerberos git commit: Consolidating common utils

Repository: directory-kerberos
Updated Branches:
  refs/heads/master 85b27a188 -> b7d418229


Consolidating common utils


Project: http://git-wip-us.apache.org/repos/asf/directory-kerberos/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerberos/commit/c58ed0ea
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerberos/tree/c58ed0ea
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerberos/diff/c58ed0ea

Branch: refs/heads/master
Commit: c58ed0ea117575c28cba8544f1112214ce125c2d
Parents: 85b27a1
Author: Drankye <dr...@gmail.com>
Authored: Tue Jan 13 08:00:32 2015 +0800
Committer: Drankye <dr...@gmail.com>
Committed: Tue Jan 13 08:00:32 2015 +0800

----------------------------------------------------------------------
 .../org/apache/haox/transport/BytesUtil.java    | 144 -------------------
 contrib/pom.xml                                 |   1 +
 haox-kerb/kerb-crypto/pom.xml                   |   2 +-
 .../apache/kerberos/kerb/crypto/BytesUtil.java  |  20 +++
 .../apache/kerberos/kerb/crypto/Camellia.java   |   6 +-
 .../org/apache/kerberos/kerb/crypto/Cmac.java   |   8 +-
 .../org/apache/kerberos/kerb/crypto/Util.java   |  24 ----
 .../kerberos/kerb/crypto/key/DesKeyMaker.java   |   3 +-
 .../kerberos/kerb/crypto/CamelliaEncTest.java   |   3 +-
 .../kerberos/kerb/crypto/CheckSumTest.java      |   3 +-
 .../kerberos/kerb/crypto/CheckSumsTest.java     |   5 +-
 .../apache/kerberos/kerb/crypto/CmacTest.java   |  13 +-
 .../apache/kerberos/kerb/crypto/Crc32Test.java  |   3 +-
 .../kerberos/kerb/crypto/DecryptionTest.java    |   5 +-
 .../kerberos/kerb/crypto/KeyDeriveTest.java     |   9 +-
 .../kerberos/kerb/crypto/String2keyTest.java    |   7 +-
 .../apache/kerberos/kerb/crypto/TestUtil.java   |  39 -----
 17 files changed, 58 insertions(+), 237 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/contrib/haox-event/src/main/java/org/apache/haox/transport/BytesUtil.java
----------------------------------------------------------------------
diff --git a/contrib/haox-event/src/main/java/org/apache/haox/transport/BytesUtil.java b/contrib/haox-event/src/main/java/org/apache/haox/transport/BytesUtil.java
deleted file mode 100644
index c3a3e99..0000000
--- a/contrib/haox-event/src/main/java/org/apache/haox/transport/BytesUtil.java
+++ /dev/null
@@ -1,144 +0,0 @@
-package org.apache.haox.transport;
-
-public class BytesUtil {
-
-    public static short bytes2short(byte[] bytes, int offset, boolean bigEndian) {
-        short val = 0;
-
-        if (bigEndian) {
-            val += (bytes[offset + 0] & 0xff) << 8;
-            val += (bytes[offset + 1] & 0xff);
-        } else {
-            val += (bytes[offset + 1] & 0xff) << 8;
-            val += (bytes[offset + 0] & 0xff);
-        }
-
-        return val;
-    }
-
-    public static short bytes2short(byte[] bytes, boolean bigEndian) {
-        return bytes2short(bytes, 0, bigEndian);
-    }
-
-    public static byte[] short2bytes(int val, boolean bigEndian) {
-        byte[] bytes = new byte[2];
-
-        short2bytes(val, bytes, 0, bigEndian);
-
-        return bytes;
-    }
-
-    public static void short2bytes(int val, byte[] bytes, int offset, boolean bigEndian) {
-        if (bigEndian) {
-            bytes[offset + 0] = (byte) ((val >> 8) & 0xff);
-            bytes[offset + 1] = (byte) ((val) & 0xff);
-        } else {
-            bytes[offset + 1] = (byte) ((val >>  8) & 0xff);
-            bytes[offset + 0] = (byte) ((val      ) & 0xff);
-        }
-    }
-
-    public static int bytes2int(byte[] bytes, boolean bigEndian) {
-        return bytes2int(bytes, 0, bigEndian);
-    }
-
-    public static int bytes2int(byte[] bytes, int offset, boolean bigEndian) {
-        int val = 0;
-
-        if (bigEndian) {
-            val += (bytes[offset + 0] & 0xff) << 24;
-            val += (bytes[offset + 1] & 0xff) << 16;
-            val += (bytes[offset + 2] & 0xff) << 8;
-            val += (bytes[offset + 3] & 0xff);
-        } else {
-            val += (bytes[offset + 3] & 0xff) << 24;
-            val += (bytes[offset + 2] & 0xff) << 16;
-            val += (bytes[offset + 1] & 0xff) << 8;
-            val += (bytes[offset + 0] & 0xff);
-        }
-
-        return val;
-    }
-
-    public static byte[] int2bytes(int val, boolean bigEndian) {
-        byte[] bytes = new byte[4];
-
-        int2bytes(val, bytes, 0, bigEndian);
-
-        return bytes;
-    }
-
-    public static void int2bytes(int val, byte[] bytes, int offset, boolean bigEndian) {
-        if (bigEndian) {
-            bytes[offset + 0] = (byte) ((val >> 24) & 0xff);
-            bytes[offset + 1] = (byte) ((val >> 16) & 0xff);
-            bytes[offset + 2] = (byte) ((val >> 8) & 0xff);
-            bytes[offset + 3] = (byte) ((val) & 0xff);
-        } else {
-            bytes[offset + 3] = (byte) ((val >> 24) & 0xff);
-            bytes[offset + 2] = (byte) ((val >> 16) & 0xff);
-            bytes[offset + 1] = (byte) ((val >> 8) & 0xff);
-            bytes[offset + 0] = (byte) ((val) & 0xff);
-        }
-    }
-
-    public static byte[] long2bytes(long val, boolean bigEndian) {
-        byte[] bytes = new byte[8];
-        long2bytes(val, bytes, 0, bigEndian);
-        return bytes;
-    }
-
-    public static void long2bytes(long val, byte[] bytes, int offset, boolean bigEndian) {
-        if (bigEndian) {
-            for (int i = 0; i < 8; i++) {
-                bytes[i + offset] = (byte) ((val >> ((7 - i) * 8)) & 0xffL);
-            }
-        } else {
-            for (int i = 0; i < 8; i++) {
-                bytes[i + offset] = (byte) ((val >> (i * 8)) & 0xffL);
-            }
-        }
-    }
-
-    public static long bytes2long(byte[] bytes, boolean bigEndian) {
-        return bytes2long(bytes, 0, bigEndian);
-    }
-
-    public static long bytes2long(byte[] bytes, int offset, boolean bigEndian) {
-        long val = 0;
-
-        if (bigEndian) {
-            for (int i = 0; i < 8; i++) {
-                val |= (((long) bytes[i + offset]) & 0xffL) << ((7 - i) * 8);
-            }
-        } else {
-            for (int i = 0; i < 8; i++) {
-                val |= (((long) bytes[i + offset]) & 0xffL) << (i * 8);
-            }
-        }
-
-        return val;
-    }
-
-    public static byte[] padding(byte[] data, int block) {
-        int len = data.length;
-        int paddingLen = len % block != 0 ? 8 - len % block : 0;
-        if (paddingLen == 0) {
-            return data;
-        }
-
-        byte[] result = new byte[len + + paddingLen];
-        System.arraycopy(data, 0, result, 0, len);
-        return result;
-    }
-
-    public static byte[] duplicate(byte[] bytes) {
-        return duplicate(bytes, 0, bytes.length);
-    }
-
-    public static byte[] duplicate(byte[] bytes, int offset, int len) {
-        byte[] dup = new byte[len];
-        System.arraycopy(bytes, offset, dup, 0, len);
-        return dup;
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/contrib/pom.xml
----------------------------------------------------------------------
diff --git a/contrib/pom.xml b/contrib/pom.xml
index 7fbc4a8..d1c413c 100644
--- a/contrib/pom.xml
+++ b/contrib/pom.xml
@@ -19,6 +19,7 @@
     <module>haox-asn1</module>
     <module>haox-pkix</module>
     <module>haox-token</module>
+    <module>haox-util</module>
   </modules>
 
   <dependencies>

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/haox-kerb/kerb-crypto/pom.xml
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/pom.xml b/haox-kerb/kerb-crypto/pom.xml
index 589fc23..99419ea 100644
--- a/haox-kerb/kerb-crypto/pom.xml
+++ b/haox-kerb/kerb-crypto/pom.xml
@@ -16,7 +16,7 @@
   <dependencies>
     <dependency>
       <groupId>org.haox</groupId>
-      <artifactId>haox-config</artifactId>
+      <artifactId>haox-util</artifactId>
       <version>${project.version}</version>
     </dependency>
 

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/BytesUtil.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/BytesUtil.java b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/BytesUtil.java
index 7282107..ee6c14b 100644
--- a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/BytesUtil.java
+++ b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/BytesUtil.java
@@ -141,4 +141,24 @@ public class BytesUtil {
         System.arraycopy(bytes, offset, dup, 0, len);
         return dup;
     }
+
+    public static void xor(byte[] input, int offset, byte[] output) {
+        int a, b;
+        for (int i = 0; i < output.length / 4; ++i) {
+            a = BytesUtil.bytes2int(input, offset + i * 4, true);
+            b = BytesUtil.bytes2int(output, i * 4, true);
+            b = a ^ b;
+            BytesUtil.int2bytes(b, output, i * 4, true);
+        }
+    }
+
+    public static void xor(byte[] a, byte[] b, byte[] output) {
+        int av, bv, v;
+        for (int i = 0; i < a.length / 4; ++i) {
+            av = BytesUtil.bytes2int(a, i * 4, true);
+            bv = BytesUtil.bytes2int(b, i * 4, true);
+            v = av ^ bv;
+            BytesUtil.int2bytes(v, output, i * 4, true);
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/Camellia.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/Camellia.java b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/Camellia.java
index 89db740..9dbab8d 100644
--- a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/Camellia.java
+++ b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/Camellia.java
@@ -199,7 +199,7 @@ public class Camellia {
         byte[] cipher = new byte[BLOCK_SIZE];
         for (int i = 0; i < blocksNum; ++i) {
             System.arraycopy(data, offset + i * BLOCK_SIZE, cipher, 0, BLOCK_SIZE);
-            Util.xor(cipherState, 0, cipher);
+            BytesUtil.xor(cipherState, 0, cipher);
             processBlock(cipher, 0);
             System.arraycopy(cipher, 0, data, offset + i * BLOCK_SIZE, BLOCK_SIZE);
             System.arraycopy(cipher, 0, cipherState, 0, BLOCK_SIZE);
@@ -219,9 +219,9 @@ public class Camellia {
             processBlock(cipher, 0);
 
             if (i == 1) {
-                Util.xor(cipherState, 0, cipher);
+                BytesUtil.xor(cipherState, 0, cipher);
             } else {
-                Util.xor(data, offset + (i - 2) * BLOCK_SIZE, cipher);
+                BytesUtil.xor(data, offset + (i - 2) * BLOCK_SIZE, cipher);
             }
 
             System.arraycopy(cipher, 0, data, offset + (i - 1) * BLOCK_SIZE, BLOCK_SIZE);

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/Cmac.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/Cmac.java b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/Cmac.java
index 7f7d333..68391a8 100644
--- a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/Cmac.java
+++ b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/Cmac.java
@@ -81,10 +81,10 @@ public class Cmac {
         byte[] lastBlock = new byte[lastLen];
         System.arraycopy(data, lastPos, lastBlock, 0, lastLen);
         if (lastIsComplete) {
-            Util.xor(lastBlock, K1, mLast);
+            BytesUtil.xor(lastBlock, K1, mLast);
         } else {
             padding(lastBlock, padded);
-            Util.xor(padded, K2, mLast);
+            BytesUtil.xor(padded, K2, mLast);
         }
 
         // Step 6 (last block)
@@ -108,7 +108,7 @@ public class Cmac {
         } else {
             byte[] tmp = new byte[K1.length];
             leftShiftByOne(L, tmp);
-            Util.xor(tmp, constRb, K1);
+            BytesUtil.xor(tmp, constRb, K1);
         }
 
         // K2 := (MSB(K1) == 0) ? K1 << 1 : (K1 << 1) XOR const_Rb
@@ -117,7 +117,7 @@ public class Cmac {
         } else {
             byte[] tmp = new byte[K1.length];
             leftShiftByOne(K1, tmp);
-            Util.xor(tmp, constRb, K2);
+            BytesUtil.xor(tmp, constRb, K2);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/Util.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/Util.java b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/Util.java
deleted file mode 100644
index 58117b9..0000000
--- a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/Util.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.apache.kerberos.kerb.crypto;
-
-public class Util {
-
-    public static void xor(byte[] input, int offset, byte[] output) {
-        int a, b;
-        for (int i = 0; i < output.length / 4; ++i) {
-            a = BytesUtil.bytes2int(input, offset + i * 4, true);
-            b = BytesUtil.bytes2int(output, i * 4, true);
-            b = a ^ b;
-            BytesUtil.int2bytes(b, output, i * 4, true);
-        }
-    }
-
-    public static void xor(byte[] a, byte[] b, byte[] output) {
-        int av, bv, v;
-        for (int i = 0; i < a.length / 4; ++i) {
-            av = BytesUtil.bytes2int(a, i * 4, true);
-            bv = BytesUtil.bytes2int(b, i * 4, true);
-            v = av ^ bv;
-            BytesUtil.int2bytes(v, output, i * 4, true);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java
index 4a8dc56..b0e9fb8 100644
--- a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java
+++ b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java
@@ -3,7 +3,6 @@ package org.apache.kerberos.kerb.crypto.key;
 import org.apache.kerberos.kerb.KrbException;
 import org.apache.kerberos.kerb.crypto.BytesUtil;
 import org.apache.kerberos.kerb.crypto.Des;
-import org.apache.kerberos.kerb.crypto.Util;
 import org.apache.kerberos.kerb.crypto.enc.EncryptProvider;
 
 public class DesKeyMaker extends AbstractKeyMaker {
@@ -75,7 +74,7 @@ public class DesKeyMaker extends AbstractKeyMaker {
                 reverse(bits56);
             }
             odd = ! odd;
-            Util.xor(bits56, 0, tempString);
+            BytesUtil.xor(bits56, 0, tempString);
         }
 
         byte[] keyBytes = addParityBits(tempString);

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CamelliaEncTest.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CamelliaEncTest.java b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CamelliaEncTest.java
index 41bab8f..1dfbc88 100644
--- a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CamelliaEncTest.java
+++ b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CamelliaEncTest.java
@@ -4,6 +4,7 @@ import org.apache.kerberos.kerb.KrbException;
 import org.apache.kerberos.kerb.crypto.enc.EncryptProvider;
 import org.apache.kerberos.kerb.crypto.enc.provider.Camellia128Provider;
 import org.apache.kerberos.kerb.crypto.enc.provider.Camellia256Provider;
+import org.haox.util.HexUtil;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -75,7 +76,7 @@ public class CamelliaEncTest {
     }
 
     private void hexDump(String label, byte[] bytes) {
-        String line = label + "=" + TestUtil.bytesToHex(bytes);
+        String line = label + "=" + HexUtil.bytesToHex(bytes);
         outputs.add(line);
     }
 

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CheckSumTest.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CheckSumTest.java b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CheckSumTest.java
index caa501d..9f9c46b 100644
--- a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CheckSumTest.java
+++ b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CheckSumTest.java
@@ -1,6 +1,7 @@
 package org.apache.kerberos.kerb.crypto;
 
 import org.apache.kerberos.kerb.spec.common.*;
+import org.haox.util.HexUtil;
 import org.junit.Test;
 
 /**
@@ -49,7 +50,7 @@ public class CheckSumTest {
     }
 
     private void testWith(CksumTest testCase) throws Exception {
-        byte[] knownChecksum = TestUtil.hex2bytes(testCase.knownChecksum);
+        byte[] knownChecksum = HexUtil.hex2bytes(testCase.knownChecksum);
         byte[] plainData = testCase.plainText.getBytes();
         CheckSum newCksum;
 

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CheckSumsTest.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CheckSumsTest.java b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CheckSumsTest.java
index 5941b29..1394994 100644
--- a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CheckSumsTest.java
+++ b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CheckSumsTest.java
@@ -4,6 +4,7 @@ import org.apache.kerberos.kerb.spec.common.CheckSum;
 import org.apache.kerberos.kerb.spec.common.CheckSumType;
 import org.apache.kerberos.kerb.spec.common.EncryptionType;
 import org.apache.kerberos.kerb.spec.common.KeyUsage;
+import org.haox.util.HexUtil;
 import org.junit.Test;
 
 /**
@@ -121,7 +122,7 @@ public class CheckSumsTest {
     }
 
     private void testWith(CksumTest testCase) throws Exception {
-        byte[] answer = TestUtil.hex2bytes(testCase.answer);
+        byte[] answer = HexUtil.hex2bytes(testCase.answer);
         byte[] plainData = testCase.plainText.getBytes();
         CheckSum newCksum;
 
@@ -137,7 +138,7 @@ public class CheckSumsTest {
                 return;
             }
 
-            byte[] key = TestUtil.hex2bytes(testCase.key);
+            byte[] key = HexUtil.hex2bytes(testCase.key);
             KeyUsage keyUsage = KeyUsage.fromValue(testCase.keyUsage);
             newCksum = CheckSumHandler.checksumWithKey(testCase.cksumType, plainData, key, keyUsage);
             if (CheckSumHandler.verifyWithKey(newCksum, plainData, key, keyUsage)) {

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CmacTest.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CmacTest.java b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CmacTest.java
index 99a26af..2e7bd7e 100644
--- a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CmacTest.java
+++ b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/CmacTest.java
@@ -3,6 +3,7 @@ package org.apache.kerberos.kerb.crypto;
 import org.apache.kerberos.kerb.KrbException;
 import org.apache.kerberos.kerb.crypto.enc.EncryptProvider;
 import org.apache.kerberos.kerb.crypto.enc.provider.Camellia128Provider;
+import org.haox.util.HexUtil;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -41,25 +42,25 @@ public class CmacTest {
 
     @Test
     public void testCmac() throws KrbException, KrbException {
-        byte[] key = TestUtil.hex2bytes(keyBytes);
-        byte[] input = TestUtil.hex2bytes(inputBytes);
+        byte[] key = HexUtil.hex2bytes(keyBytes);
+        byte[] input = HexUtil.hex2bytes(inputBytes);
         EncryptProvider encProvider = new Camellia128Provider();
         byte[] result;
 
         // test 1
         result = Cmac.cmac(encProvider, key, input, 0, 0);
-        Assert.assertArrayEquals("Test 1", TestUtil.hex2bytes(cmac1), result);
+        Assert.assertArrayEquals("Test 1", HexUtil.hex2bytes(cmac1), result);
 
         // test 2
         result = Cmac.cmac(encProvider, key, input, 0, 16);
-        Assert.assertArrayEquals("Test 2", TestUtil.hex2bytes(cmac2), result);
+        Assert.assertArrayEquals("Test 2", HexUtil.hex2bytes(cmac2), result);
 
         // test 3
         result = Cmac.cmac(encProvider, key, input, 0, 40);
-        Assert.assertArrayEquals("Test 3", TestUtil.hex2bytes(cmac3), result);
+        Assert.assertArrayEquals("Test 3", HexUtil.hex2bytes(cmac3), result);
 
         // test 4
         result = Cmac.cmac(encProvider, key, input, 0, 64);
-        Assert.assertArrayEquals("Test 4", TestUtil.hex2bytes(cmac4), result);
+        Assert.assertArrayEquals("Test 4", HexUtil.hex2bytes(cmac4), result);
     }
 }

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/Crc32Test.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/Crc32Test.java b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/Crc32Test.java
index f9b6b5d..d728278 100644
--- a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/Crc32Test.java
+++ b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/Crc32Test.java
@@ -1,5 +1,6 @@
 package org.apache.kerberos.kerb.crypto;
 
+import org.haox.util.HexUtil;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -92,7 +93,7 @@ public class Crc32Test {
     }
 
     private boolean testWith(TestCase testCase) {
-        byte[] data = TestUtil.hex2bytes(testCase.data);
+        byte[] data = HexUtil.hex2bytes(testCase.data);
         long value = Crc32.crc(0, data, 0, data.length);
         return value == testCase.answer;
     }

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/DecryptionTest.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/DecryptionTest.java b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/DecryptionTest.java
index 389fab9..d942b23 100644
--- a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/DecryptionTest.java
+++ b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/DecryptionTest.java
@@ -22,6 +22,7 @@ package org.apache.kerberos.kerb.crypto;
 import org.apache.kerberos.kerb.spec.common.EncryptionKey;
 import org.apache.kerberos.kerb.spec.common.EncryptionType;
 import org.apache.kerberos.kerb.spec.common.KeyUsage;
+import org.haox.util.HexUtil;
 import org.junit.Test;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -58,8 +59,8 @@ public class DecryptionTest {
     private boolean testDecrypt(TestCase testCase) throws Exception {
         KeyUsage ku = KeyUsage.fromValue(testCase.keyUsage);
 
-        byte[] cipherBytes = TestUtil.hex2bytes(testCase.cipher);
-        byte[] keyBytes = TestUtil.hex2bytes(testCase.key);
+        byte[] cipherBytes = HexUtil.hex2bytes(testCase.cipher);
+        byte[] keyBytes = HexUtil.hex2bytes(testCase.key);
 
         EncryptionKey encKey = new EncryptionKey(testCase.encType, keyBytes);
         byte[] decrypted = EncryptionHandler.decrypt(cipherBytes, encKey, ku);

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/KeyDeriveTest.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/KeyDeriveTest.java b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/KeyDeriveTest.java
index 2ae74d0..167b63a 100644
--- a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/KeyDeriveTest.java
+++ b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/KeyDeriveTest.java
@@ -6,6 +6,7 @@ import org.apache.kerberos.kerb.crypto.key.CamelliaKeyMaker;
 import org.apache.kerberos.kerb.crypto.key.Des3KeyMaker;
 import org.apache.kerberos.kerb.crypto.key.DkKeyMaker;
 import org.apache.kerberos.kerb.spec.common.EncryptionType;
+import org.haox.util.HexUtil;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -190,16 +191,16 @@ public class KeyDeriveTest {
     }
 
     private boolean testWith(TestCase testCase) throws Exception {
-        byte[] answer = TestUtil.hex2bytes(testCase.answer);
-        byte[] inkey = TestUtil.hex2bytes(testCase.inkey);
-        byte[] constant = TestUtil.hex2bytes(testCase.constant);
+        byte[] answer = HexUtil.hex2bytes(testCase.answer);
+        byte[] inkey = HexUtil.hex2bytes(testCase.inkey);
+        byte[] constant = HexUtil.hex2bytes(testCase.constant);
         byte[] outkey;
 
         DkKeyMaker km = getKeyMaker(testCase.encType);
         outkey = km.dk(inkey, constant);
         if (! Arrays.equals(answer, outkey)) {
             System.err.println("failed with:");
-            System.err.println("outKey:" + TestUtil.bytesToHex(outkey));
+            System.err.println("outKey:" + HexUtil.bytesToHex(outkey));
             System.err.println("answer:" + testCase.answer);
             return false;
         }

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/String2keyTest.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/String2keyTest.java b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/String2keyTest.java
index a18763e..c8b1239 100644
--- a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/String2keyTest.java
+++ b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/String2keyTest.java
@@ -2,6 +2,7 @@ package org.apache.kerberos.kerb.crypto;
 
 import org.apache.kerberos.kerb.spec.common.EncryptionKey;
 import org.apache.kerberos.kerb.spec.common.EncryptionType;
+import org.haox.util.HexUtil;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -417,12 +418,12 @@ public class String2keyTest {
     }
 
     private boolean testWith(TestCase tc) throws Exception {
-        byte[] answer = TestUtil.hex2bytes(tc.answer);
-        byte[] params = tc.param != null ? TestUtil.hex2bytes(tc.param) : null;
+        byte[] answer = HexUtil.hex2bytes(tc.answer);
+        byte[] params = tc.param != null ? HexUtil.hex2bytes(tc.param) : null;
         EncryptionKey outkey = EncryptionHandler.string2Key(tc.string, tc.salt, params, tc.encType);
         if (! Arrays.equals(answer, outkey.getKeyData())) {
             System.err.println("failed with:");
-            System.err.println("outKey:" + TestUtil.bytesToHex(outkey.getKeyData()));
+            System.err.println("outKey:" + HexUtil.bytesToHex(outkey.getKeyData()));
             System.err.println("answer:" + tc.answer);
             // Will un-comment below when passed all the tests.
             //return false;

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/c58ed0ea/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/TestUtil.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/TestUtil.java b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/TestUtil.java
deleted file mode 100644
index 45e7e89..0000000
--- a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/TestUtil.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.apache.kerberos.kerb.crypto;
-
-public class TestUtil {
-
-    final static String HEX_CHARS_STR = "0123456789ABCDEF";
-    final static char[] HEX_CHARS = HEX_CHARS_STR.toCharArray();
-
-    /**
-     * Convert bytes into format as:
-     * 02020080
-     */
-    public static String bytesToHex(byte[] bytes) {
-        int len = bytes.length * 2;
-        char[] hexChars = new char[len];
-        for ( int j = 0; j < bytes.length; j++ ) {
-            int v = bytes[j] & 0xFF;
-            hexChars[j * 2] = HEX_CHARS[v >>> 4];
-            hexChars[j * 2 + 1] = HEX_CHARS[v & 0x0F];
-        }
-
-        return new String(hexChars);
-    }
-
-    /**
-     * Convert hex string like follows into byte array
-     * 02020080
-     */
-    public static byte[] hex2bytes(String hexString) {
-        hexString = hexString.toUpperCase();
-        int len = hexString.length() / 2;
-        byte[] bytes = new byte[len];
-        char[] hexChars = hexString.toCharArray();
-        for (int i = 0, j = 0; i < len; ++i) {
-            bytes[i] = (byte) ((HEX_CHARS_STR.indexOf(hexChars[j++]) << 4) + HEX_CHARS_STR.indexOf(hexChars[j++]));
-        }
-
-        return bytes;
-    }
-}


[2/2] directory-kerberos git commit: Consolidating common utils

Posted by dr...@apache.org.
Consolidating common utils


Project: http://git-wip-us.apache.org/repos/asf/directory-kerberos/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerberos/commit/b7d41822
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerberos/tree/b7d41822
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerberos/diff/b7d41822

Branch: refs/heads/master
Commit: b7d4182295a824e98b1ace36804502ddfb2e009a
Parents: c58ed0e
Author: Drankye <dr...@gmail.com>
Authored: Tue Jan 13 08:00:53 2015 +0800
Committer: Drankye <dr...@gmail.com>
Committed: Tue Jan 13 08:00:53 2015 +0800

----------------------------------------------------------------------
 contrib/haox-util/pom.xml                       | 18 +++++++++
 .../src/main/java/org/haox/util/HexUtil.java    | 39 ++++++++++++++++++++
 2 files changed, 57 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/b7d41822/contrib/haox-util/pom.xml
----------------------------------------------------------------------
diff --git a/contrib/haox-util/pom.xml b/contrib/haox-util/pom.xml
new file mode 100644
index 0000000..c3e59a9
--- /dev/null
+++ b/contrib/haox-util/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <artifactId>contrib</artifactId>
+    <groupId>org.haox</groupId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>haox-util</artifactId>
+
+  <name>Haox Util</name>
+  <description>Haox common util, without any 3rd party dependency</description>
+
+  <dependencies>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/b7d41822/contrib/haox-util/src/main/java/org/haox/util/HexUtil.java
----------------------------------------------------------------------
diff --git a/contrib/haox-util/src/main/java/org/haox/util/HexUtil.java b/contrib/haox-util/src/main/java/org/haox/util/HexUtil.java
new file mode 100644
index 0000000..f8e06f9
--- /dev/null
+++ b/contrib/haox-util/src/main/java/org/haox/util/HexUtil.java
@@ -0,0 +1,39 @@
+package org.haox.util;
+
+public class HexUtil {
+
+    final static String HEX_CHARS_STR = "0123456789ABCDEF";
+    final static char[] HEX_CHARS = HEX_CHARS_STR.toCharArray();
+
+    /**
+     * Convert bytes into format as:
+     * 02020080
+     */
+    public static String bytesToHex(byte[] bytes) {
+        int len = bytes.length * 2;
+        char[] hexChars = new char[len];
+        for ( int j = 0; j < bytes.length; j++ ) {
+            int v = bytes[j] & 0xFF;
+            hexChars[j * 2] = HEX_CHARS[v >>> 4];
+            hexChars[j * 2 + 1] = HEX_CHARS[v & 0x0F];
+        }
+
+        return new String(hexChars);
+    }
+
+    /**
+     * Convert hex string like follows into byte array
+     * 02020080
+     */
+    public static byte[] hex2bytes(String hexString) {
+        hexString = hexString.toUpperCase();
+        int len = hexString.length() / 2;
+        byte[] bytes = new byte[len];
+        char[] hexChars = hexString.toCharArray();
+        for (int i = 0, j = 0; i < len; ++i) {
+            bytes[i] = (byte) ((HEX_CHARS_STR.indexOf(hexChars[j++]) << 4) + HEX_CHARS_STR.indexOf(hexChars[j++]));
+        }
+
+        return bytes;
+    }
+}