Пример #1
0
    def Generate() -> Iterator[bytes]:
        chunks = ioutil.Chunk(stream, size=_AEAD_CHUNK_SIZE)
        chunks = iterator.Lookahead(enumerate(chunks))

        for idx, chunk in chunks:
            nonce = os.urandom(_AEAD_NONCE_SIZE)
            adata = _AEAD_ADATA_FORMAT.pack(idx, chunks.done)

            yield nonce + aesgcm.encrypt(nonce, chunk, adata)
Пример #2
0
 def testSizeZero(self):
     with self.assertRaises(ValueError):
         list(ioutil.Chunk(io.BytesIO(b"foobar"), size=0))
Пример #3
0
 def testManyUnevenChunks(self):
     chunks = list(ioutil.Chunk(io.BytesIO(b"foobarbaz"), size=2))
     self.assertEqual(chunks, [b"fo", b"ob", b"ar", b"ba", b"z"])
Пример #4
0
 def testSingleChunk(self):
     chunks = list(ioutil.Chunk(io.BytesIO(b"foobar"), size=6))
     self.assertEqual(chunks, [b"foobar"])
Пример #5
0
 def testEmpty(self):
     chunks = list(ioutil.Chunk(io.BytesIO(b""), size=3))
     self.assertEmpty(chunks)
Пример #6
0
 def testSizeNegative(self):
     with self.assertRaises(ValueError):
         list(ioutil.Chunk(io.BytesIO(b"foobar"), size=-42))