我想将一个字符串转换为十六进制,然后转换成一个字节数组。这是我到目前为止的代码:如何将十六进制字符串直接转换为字节数组?
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