Exemplo n.º 1
0
 def __next__(self):
     nxt = next(self.gen)
     for alg in self.state.keys():
         checksum = hash_state.restoreHex(self.state[alg], alg)
         checksum.update(nxt)
         self.state[alg] = hash_state.serializeHex(checksum)
     return nxt
Exemplo n.º 2
0
def testSimpleHashing(alg):
    canonical = hashlib.new(alg)
    state = hash_state.serializeHex(hashlib.new(alg))

    for chunk in chunks:
        checksum = hash_state.restoreHex(state, alg)
        assert canonical.hexdigest() == checksum.hexdigest()
        assert canonical.digest() == checksum.digest()

        canonical.update(chunk)
        checksum.update(chunk)
        state = hash_state.serializeHex(checksum)

    checksum = hash_state.restoreHex(state, alg)
    assert canonical.hexdigest() == checksum.hexdigest()
    assert canonical.digest() == checksum.digest()
Exemplo n.º 3
0
def testSimpleHashing(iterableBytes, algorithmName):
    canonicalHash = hashlib.new(algorithmName)
    runningHash = hashlib.new(algorithmName)
    runningState = hash_state.serializeHex(runningHash)

    for chunk in iterableBytes:
        runningHash = hash_state.restoreHex(runningState, algorithmName)
        assert canonicalHash.hexdigest() == runningHash.hexdigest()
        assert canonicalHash.digest() == runningHash.digest()

        canonicalHash.update(chunk)
        runningHash.update(chunk)
        runningState = hash_state.serializeHex(runningHash)

    runningHash = hash_state.restoreHex(runningState, algorithmName)
    assert canonicalHash.hexdigest() == runningHash.hexdigest()
    assert canonicalHash.digest() == runningHash.digest()
Exemplo n.º 4
0
    def _simpleHashingTest(self, hashType):
        """
        Test the hashing of hash_state against Python's hashlib.

        :param hashType: String representing the hash algorithm to use.
        """
        officialHasher = hashlib.new(hashType)
        state = hash_state.serializeHex(hashlib.new(hashType))

        for chunk in self.chunks:
            checksum = hash_state.restoreHex(state, hashType)
            self.assertEquals(officialHasher.hexdigest(), checksum.hexdigest())
            self.assertEquals(officialHasher.digest(), checksum.digest())

            officialHasher.update(chunk)
            checksum.update(chunk)
            state = hash_state.serializeHex(checksum)

        checksum = hash_state.restoreHex(state, hashType)
        self.assertEquals(officialHasher.hexdigest(), checksum.hexdigest())
        self.assertEquals(officialHasher.digest(), checksum.digest())
Exemplo n.º 5
0
    def _simpleHashingTest(self, hashType):
        """
        Test the hashing of hash_state against Python's hashlib.

        :param hashType: String representing the hash algorithm to use.
        """
        officialHasher = hashlib.new(hashType)
        state = hash_state.serializeHex(hashlib.new(hashType))

        for chunk in self.chunks:
            checksum = hash_state.restoreHex(state, hashType)
            self.assertEquals(officialHasher.hexdigest(), checksum.hexdigest())
            self.assertEquals(officialHasher.digest(), checksum.digest())

            officialHasher.update(chunk)
            checksum.update(chunk)
            state = hash_state.serializeHex(checksum)

        checksum = hash_state.restoreHex(state, hashType)
        self.assertEquals(officialHasher.hexdigest(), checksum.hexdigest())
        self.assertEquals(officialHasher.digest(), checksum.digest())
Exemplo n.º 6
0
 def md5(self):
     return hash_state.restoreHex(self.state['md5'], 'md5').hexdigest()
Exemplo n.º 7
0
 def sha256(self):
     return hash_state.restoreHex(self.state['sha256'],
                                  'sha256').hexdigest()