Java AES/CFB代码部分说明

Java AES/CFB代码部分说明,java,encryption,cryptography,aes,Java,Encryption,Cryptography,Aes,我需要一些人的帮助,向我解释下面代码的特定部分是如何工作的以及它的使用。该代码是AES/CFB模式的一个实现,带有客户端和服务器。 代码可以在link上找到 我不明白的是: if(ivector==null) { iv = null; } else { iv = new byte[ivector.length]; for(int i=0;i<ivector.length;i++) {

我需要一些人的帮助,向我解释下面代码的特定部分是如何工作的以及它的使用。该代码是AES/CFB模式的一个实现,带有客户端和服务器。 代码可以在link上找到

我不明白的是:

if(ivector==null)  
    {  
     iv = null;  
    }  
  else  
    {  
   iv = new byte[ivector.length];  
   for(int i=0;i<ivector.length;i++)  
      {  
    iv[i]=ivector[i];  
      }  
    }
它有什么作用? 为什么需要这样做? 我可以在server.java和client.java中实现这一点吗? 这段代码以不必要的复杂和冗长的方式复制数组。 如果希望确保引用数组的其他代码不会修改数组的内容,那么创建数组的私有副本可能会很有用。 这个问题没有意义。
不要使用链接代码作为示例。它不能正常工作,即使它能正常工作,也是一个可怕的实现。

你刚刚打败了我。不知道为什么我会看起来那么糟糕。iv=零。。。唉。哦,祝福你们两个@erickson和Maaren。我确实有过以一种更不礼貌的方式回应的想法。无意冒犯,但当我看到这样的问题时,我的信息安全心脏会跳几下。考虑到链接的源材料是用Java编写的,问题3的答案很可能是肯定的。你问1和2迫使我恳求你学习