我想將一個字符串轉換爲十六進制,然後轉換成一個字節數組。這是我到目前爲止的代碼:如何將十六進制字符串直接轉換爲字節數組?
public static void findKey(){
Cipher cipher;
SecretKeySpec key;
byte [] keyBytes;
byte [] pt;
byte [] ct;
String plaintext = "Plaintxt";
ct = new byte [] {(byte)0x4A, (byte)0xC4, (byte)0x55, (byte)0x3D, (byte)0xB3, (byte)0x37, (byte)0xCA, (byte)0xB3};
String ptHex = asciiToHex(plaintext);
System.out.println(ptHex);
pt = ptHex.getBytes();
printByteArray(pt);
}
我要轉換爲十六進制的方法工作正常,但是當我使用getBytes
,它顯然它變成16個字節,這不是我想要的。那只是一個嘗試。下面是從剛剛打印我的字符串,以確保它的工作,然後打印字節數組這是不正確的輸出:
506c61696e747874
[ 35 30 36 63 36 31 36 39 36 65 37 34 37 38 37 34 ]
-------------Key Found-------------
我要坐50,6C,61等,並把它變成一個字節數組就像我爲ct所做的那樣,如0x50,0x6c等等。
這甚至可能嗎?
你先生忠實地是男人。這正是我期待的。 – erp 2013-02-10 04:54:18