我想知道我如何解密一个随机数字DES/CBC-加密一个特定的密钥。JAVA - 解密“DES”加密的随机数
我的协议声明如下: 我发送一个KeyNo(例如0x00) 发送KeyNo后,我得到一个8字节(DES)随机数。该随机数使用选定的密钥进行加密。
我的问题是我如何破译我接收到的数据,找到使用密码
感谢您的随机数。
我想知道我如何解密一个随机数字DES/CBC-加密一个特定的密钥。JAVA - 解密“DES”加密的随机数
我的协议声明如下: 我发送一个KeyNo(例如0x00) 发送KeyNo后,我得到一个8字节(DES)随机数。该随机数使用选定的密钥进行加密。
我的问题是我如何破译我接收到的数据,找到使用密码
感谢您的随机数。
要解密DES加密流,简单地做:
Key key = SecretKeyFactory.getInstance("DES").generateSecret(new DESKeySpec(bytesOfThe Key)); // bytesOfTheKey should be 8 bytes long
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.DECRYPT_MODE, key);
return new CipherInputStream(inputStream, cipher);
您还可能有兴趣在doFinal方法,它的ByteBuffers上工作。
我想我必须生成cipher.init的密钥。我怎么做?我有加密的随机数字00h,加密的随机数字我有它像byte []加密= {12 A7 2B 8C 6E BB 93 40} – 2012-07-06 11:24:35
我编辑答案包括一种方法来创建一个DES密钥。 – 2012-07-06 11:27:52
有没有办法将解密返回到8字节数组?而不是输入流 – 2012-07-06 11:42:51
http://docs.oracle.com/cd/E15523_01/apirefs.1111/e10696/oracle/security/crypto/core/DES.html? – 2012-07-06 10:59:18