Update() public method

public Update ( byte inp, int inpOff, int inpLen ) : byte[]
inp byte
inpOff int
inpLen int
return byte[]
Beispiel #1
0
 public byte[] Update(byte[] b, int off, int len) {
     if (aes) {
         if (initiated)
             return cipher.Update(b, off, len);
         else {
             int left = Math.Min(iv.Length - ivptr, len);
             System.Array.Copy(b, off, iv, ivptr, left);
             off += left;
             len -= left;
             ivptr += left;
             if (ivptr == iv.Length) {
                 cipher = new AESCipher(false, key, iv);
                 initiated = true;
                 if (len > 0)
                     return cipher.Update(b, off, len);
             }
             return null;
         }
     }
     else {
         byte[] b2 = new byte[len];
         arcfour.EncryptARCFOUR(b, off, len, b2, 0);
         return b2;
     }
 }
 public byte[] Update(byte[] b, int off, int len)
 {
     if (aes)
     {
         if (initiated)
         {
             return(cipher.Update(b, off, len));
         }
         else
         {
             int left = Math.Min(iv.Length - ivptr, len);
             System.Array.Copy(b, off, iv, ivptr, left);
             off   += left;
             len   -= left;
             ivptr += left;
             if (ivptr == iv.Length)
             {
                 cipher    = new AESCipher(false, key, iv);
                 initiated = true;
                 if (len > 0)
                 {
                     return(cipher.Update(b, off, len));
                 }
             }
             return(null);
         }
     }
     else
     {
         byte[] b2 = new byte[len];
         arcfour.EncryptARCFOUR(b, off, len, b2, 0);
         return(b2);
     }
 }