def _unpack(self):
with self._unpackLock:
if hasattr(self, '_pwbuffer'):
pwbuffer = zlib.decompress(self._pwbuffer)
pwbuffer = pwbuffer.split(self._delimiter)
assert len(pwbuffer) == self._numElems
md = hashlib.md5()
md.update(self.essid)
if self._magic == 'PYR2':
md.update(self._pmkbuffer)
md.update(self._pwbuffer)
else:
md.update(self._pmkbuffer)
md.update(''.join(pwbuffer))
if md.digest() != self._digest:
raise DigestError("Digest check failed")
self.results = zip(pwbuffer, util.grouper(self._pmkbuffer, 32))
assert len(self.results) == self._numElems
del self._pwbuffer
del self._digest
del self._magic
del self._delimiter
评论列表
文章目录