1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import sha
16 import md5
17 import os
18 import stat
19 import struct
20 from Crypto.Hash import SHA256
21
41
46
48 assert(len(buf) == 20)
49 return "%08x%08x%08x%08x%08x" % struct.unpack("!5I", buf)
50
52 assert(len(val) == 40)
53 return struct.pack("!5I", int(val[ 0: 8], 16),
54 int(val[ 8:16], 16), int(val[16:24], 16),
55 int(val[24:32], 16), int(val[32:40], 16))
56
61
63 assert(len(buf) == 32)
64 return "%08x%08x%08x%08x%08x%08x%08x%08x" % struct.unpack("!8I", buf)
65
67 assert(len(val) == 64)
68 return struct.pack("!8I", int(val[ 0: 8], 16),
69 int(val[ 8:16], 16), int(val[16:24], 16),
70 int(val[24:32], 16), int(val[32:40], 16),
71 int(val[40:48], 16), int(val[48:56], 16),
72 int(val[56:64], 16) )
73
78
80 assert(len(buf) == 16)
81 return "%08x%08x%08x%08x" % struct.unpack("!4I", buf)
82
84 assert(len(val) == 32)
85 return struct.pack("!4I", int(val[ 0: 8], 16),
86 int(val[ 8:16], 16), int(val[16:24], 16),
87 int(val[24:32], 16))
88