2014-09-23 76 views
0

试图理解使用AES解密文件的应用程序中的以下代码片段。我不是一个Java程序员。如果我知道变量字节a []的值,是否可以解密文件?AES文件解密

 static byte a[] = { ..... }; 

     SecretKeySpec key; 

     if (key == null) 
     { 
      ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
      bos.write(a); 
      bos.write(abyte1); 
      key = new SecretKeySpec(bos.toByteArray(), "AES"); 
      bos.close(); 
     } 
     Cipher cipher = Cipher.getInstance("AES"); 
     cipher.init(2, key); 
     CipherInputStream cipherinputstream = new CipherInputStream(inputstream, cipher); 

回答

0

似乎a持有除最后一个字节,这似乎在abyte1隐藏秘密密钥。所以如果你知道所有的一个,只剩下255个可能的键值,你可以轻松地 trivially蛮力。

+1

@JohnE:不客气。就像一般说明一样,没有必要在Stackoverflow上发布“谢谢”。简单地说,如果你发现一个有用的答案(或者对于这个问题的一个问题),就可以开始行动。 – 2014-09-24 08:41:24