Exemplo n.º 1
0
 public static Action <BytesView> GetStreamFilterFromIVEncryptor(bool isEncrypt, IIVEncryptor iVEncryptor, bool ivOK)
 {
     return((bv) => {
         if (!ivOK)
         {
             ivOK = true;
             if (isEncrypt)
             {
                 bv.nextNode = bv.Clone();
                 bv.Set(iVEncryptor.IV);
                 bv = bv.nextNode;
             }
             else
             {
                 int iVLength = iVEncryptor.IVLength;
                 iVEncryptor.IV = bv.GetBytes(0, iVLength, true);
                 bv.SubSelf(iVLength);
             }
         }
         foreach (var item in bv)
         {
             iVEncryptor.Update(new BytesSegment(item));
         }
     });
 }
Exemplo n.º 2
0
 public void ApplyFilterFromEncryptor(IIVEncryptor write, IIVEncryptor read)
 {
     AddWriteFilter(GetStreamFilterFromIVEncryptor(true, write));
     AddReadFilter(GetStreamFilterFromIVEncryptor(false, read));
 }
Exemplo n.º 3
0
 public static Action <BytesView> GetStreamFilterFromIVEncryptor(bool isEncrypt, IIVEncryptor iVEncryptor)
 {
     return(GetStreamFilterFromIVEncryptor(isEncrypt, iVEncryptor, false));
 }
Exemplo n.º 4
0
 public IvEncryptStream(IMyStream baseStream, IIVEncryptor recv, IIVEncryptor send)
 {
     BaseStream = baseStream;
     recvEnc    = recv;
     sendEnc    = send;
 }