lbry-sdk/lbrynet/cryptstream/client/CryptBlobHandler.py

21 lines
602 B
Python
Raw Normal View History

2015-08-20 17:27:15 +02:00
import binascii
from zope.interface import implements
from lbrynet.cryptstream.CryptBlob import StreamBlobDecryptor
from lbrynet.interfaces import IBlobHandler
class CryptBlobHandler(object):
implements(IBlobHandler)
def __init__(self, key, write_func):
self.key = key
self.write_func = write_func
######## IBlobHandler #########
def handle_blob(self, blob, blob_info):
2016-11-30 21:20:45 +01:00
blob_decryptor = StreamBlobDecryptor(
blob, self.key, binascii.unhexlify(blob_info.iv), blob_info.length)
2015-08-20 17:27:15 +02:00
d = blob_decryptor.decrypt(self.write_func)
2016-11-30 21:20:45 +01:00
return d