コード例 #1
0
ファイル: EncryptedFileCreator.py プロジェクト: lbryio/lbry
 def __init__(self, blob_manager, lbry_file_manager, name=None,
              key=None, iv_generator=None, suggested_file_name=None):
     CryptStreamCreator.__init__(self, blob_manager, name, key, iv_generator)
     self.lbry_file_manager = lbry_file_manager
     self.suggested_file_name = suggested_file_name or name
     self.stream_hash = None
     self.blob_infos = []
コード例 #2
0
ファイル: EncryptedFileCreator.py プロジェクト: zsjtoby/lbry
 def __init__(self, blob_manager, lbry_file_manager, name=None,
              key=None, iv_generator=None, suggested_file_name=None):
     CryptStreamCreator.__init__(self, blob_manager, name, key, iv_generator)
     self.lbry_file_manager = lbry_file_manager
     self.suggested_file_name = suggested_file_name or name
     self.stream_hash = None
     self.blob_infos = []
コード例 #3
0
def encrypt_blob(filename, key, iv):
    dummy_announcer = DummyHashAnnouncer()
    manager = DiskBlobManager(dummy_announcer, '.', '.')
    yield manager.setup()
    creator = CryptStreamCreator(manager, filename, key, iv_generator(iv))
    with open(filename, 'r') as infile:
        producer = FileBodyProducer(infile, readSize=2**22)
        yield producer.startProducing(creator)
    yield creator.stop()
コード例 #4
0
ファイル: LiveStreamCreator.py プロジェクト: iarebatman/lbry
 def __init__(self, blob_manager, stream_info_manager, name=None, key=None, iv_generator=None,
              delete_after_num=None, secret_pass_phrase=None):
     CryptStreamCreator.__init__(self, blob_manager, name, key, iv_generator)
     self.stream_hash = None
     self.stream_info_manager = stream_info_manager
     self.delete_after_num = delete_after_num
     self.secret_pass_phrase = secret_pass_phrase
     self.file_extension = CRYPTSD_FILE_EXTENSION
     self.finished_blob_hashes = {}
コード例 #5
0
ファイル: encrypt_blob.py プロジェクト: zhilinwww/lbry
def encrypt_blob(filename, key, iv):
    dummy_announcer = DummyHashAnnouncer()
    manager = DiskBlobManager(dummy_announcer, '.', '.')
    yield manager.setup()
    creator = CryptStreamCreator(manager, filename, key, iv_generator(iv))
    with open(filename, 'r') as infile:
        producer = FileBodyProducer(infile, readSize=2**22)
        yield producer.startProducing(creator)
    yield creator.stop()
コード例 #6
0
 def __init__(self,
              blob_manager,
              lbry_file_manager,
              stream_name=None,
              key=None,
              iv_generator=None):
     CryptStreamCreator.__init__(self, blob_manager, stream_name, key,
                                 iv_generator)
     self.lbry_file_manager = lbry_file_manager
     self.stream_hash = None
     self.blob_infos = []
     self.sd_info = None
コード例 #7
0
    def setup(self):
        """Create the secret pass phrase if it wasn't provided, compute the stream hash,
        save the stream to the stream info manager, and return the stream hash
        """
        if self.secret_pass_phrase is None:
            self.secret_pass_phrase = Random.new().read(512)

        d = CryptStreamCreator.setup(self)

        def make_stream_hash():
            hashsum = get_lbry_hash_obj()
            hashsum.update(binascii.hexlify(self.name))
            hashsum.update(get_pub_key(self.secret_pass_phrase))
            hashsum.update(binascii.hexlify(self.key))
            self.stream_hash = hashsum.hexdigest()
            return self.stream_hash

        d.addCallback(lambda _: make_stream_hash())
        d.addCallback(lambda _: self._save_stream())
        d.addCallback(lambda _: self.stream_hash)
        return d
コード例 #8
0
ファイル: LiveStreamCreator.py プロジェクト: Xuiquaxa/lbry
    def setup(self):
        """Create the secret pass phrase if it wasn't provided, compute the stream hash,
        save the stream to the stream info manager, and return the stream hash
        """
        if self.secret_pass_phrase is None:
            self.secret_pass_phrase = Random.new().read(512)

        d = CryptStreamCreator.setup(self)

        def make_stream_hash():
            hashsum = get_lbry_hash_obj()
            hashsum.update(binascii.hexlify(self.name))
            hashsum.update(get_pub_key(self.secret_pass_phrase))
            hashsum.update(binascii.hexlify(self.key))
            self.stream_hash = hashsum.hexdigest()
            return self.stream_hash

        d.addCallback(lambda _: make_stream_hash())
        d.addCallback(lambda _: self._save_stream())
        d.addCallback(lambda _: self.stream_hash)
        return d
コード例 #9
0
ファイル: EncryptedFileCreator.py プロジェクト: lbryio/lbry
 def setup(self):
     d = CryptStreamCreator.setup(self)
     return d
コード例 #10
0
 def setup(self):
     d = CryptStreamCreator.setup(self)
     return d
コード例 #11
0
    def setup(self):
        d = CryptStreamCreator.setup(self)
        d.addCallback(lambda _: self.stream_hash)

        return d