7
longlongformat = 'q' # long long
8
bytesize = struct.calcsize(longlongformat)
12
filesize = os.path.getsize(name)
15
if filesize < 65536 * 2:
18
for x in range(65536/bytesize):
19
buffer = f.read(bytesize)
20
(l_value,)= struct.unpack(longlongformat, buffer)
22
hash = hash & 0xFFFFFFFFFFFFFFFF #to remain as 64bit number
25
f.seek(max(0,filesize-65536),0)
26
for x in range(65536/bytesize):
27
buffer = f.read(bytesize)
28
(l_value,)= struct.unpack(longlongformat, buffer)
30
hash = hash & 0xFFFFFFFFFFFFFFFF
33
returnedhash = "%016x" % hash