Exemple #1
0
def encryptFile(checksum,
                cacheDir,
                cipher,
                iv,
                pad,
                hmac,
                nameHmac,
                output=None):
    f = cacheDir.open(checksum, 'rb')
    if output == None:
        output = checksum + '.enc'
    o = cacheDir.open(output, 'wb')
    o.write(iv)
    nb = len(iv)
    hmac.update(iv)
    for chunk, eof in Util._chunks(f, 64 * 1024):
        if eof:
            chunk = pad(chunk)
        ochunk = cipher.encrypt(chunk)
        o.write(ochunk)
        nb = nb + len(ochunk)
        hmac.update(ochunk)
    ochunk = hmac.digest()
    o.write(ochunk)
    nb = nb + len(ochunk)
    o.close()
    f.close()

    return nb
Exemple #2
0
def encryptFile(checksum, cacheDir, cipher, iv, pad, hmac, nameHmac, output = None):
    f = cacheDir.open(checksum, 'rb')
    if output == None:
        output = checksum + '.enc'
    o = cacheDir.open(output, 'wb')
    o.write(iv)
    nb = len(iv)
    hmac.update(iv)
    for chunk, eof in Util._chunks(f, 64 * 1024):
        if eof:
            chunk = pad(chunk)
        ochunk = cipher.encrypt(chunk)
        o.write(ochunk)
        nb = nb + len(ochunk)
        hmac.update(ochunk)
    ochunk = hmac.digest()
    o.write(ochunk)
    nb = nb + len(ochunk)
    o.close()
    f.close()

    return nb
Exemple #3
0
def encryptFile(checksum, cacheDir, cipher, iv, output=None):
    f = cacheDir.open(checksum, 'rb')
    if output == None:
        output = checksum + '.enc'
    o = cacheDir.open(output, 'wb')
    o.write(iv)
    nb = len(iv)
    cipher.update(iv)
    # Encrypt the chunks
    for chunk, eof in Util._chunks(f, 64 * 1024):
        ochunk = cipher.encrypt(chunk)
        o.write(ochunk)
        nb = nb + len(ochunk)

    # add the digest chunk
    ochunk = cipher.digest()
    o.write(ochunk)
    nb = nb + len(ochunk)

    o.close()
    f.close()

    return nb