我有一个 56 位二进制字符串,我想将其用作 DES 加密的密钥。
我在 JCA 文档网站上找到了以下代码
byte[] desKeyData = { (byte)0x01, (byte)0x02, (byte)0x03,
(byte)0x04, (byte)0x05, (byte)0x06, (byte)0x07, (byte)0x08 };
DESKeySpec desKeySpec = new DESKeySpec(desKeyData);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
但是,这使用 8 个字节作为密钥(而不是 7 个)。不清楚 desKeyData[0] 对应于最低有效字节还是最高有效字节。另外,是否可以直接使用 56 位字符串来生成可用于此目的的字节数组?