OSDN Git Service

add gm
[bytom/bytom-kit.git] / app / model / func.py
1 from random import choice
2
3
4 xor = lambda a, b:list(map(lambda x, y: x ^ y, a, b))
5
6 rotl = lambda x, n:((x << n) & 0xffffffff) | ((x >> (32 - n)) & 0xffffffff)
7
8 get_uint32_be = lambda key_data:((key_data[0] << 24) | (key_data[1] << 16) | (key_data[2] << 8) | (key_data[3]))
9
10 put_uint32_be = lambda n:[((n>>24)&0xff), ((n>>16)&0xff), ((n>>8)&0xff), ((n)&0xff)]
11
12 padding = lambda data, block=16: data + [(16 - len(data) % block)for _ in range(16 - len(data) % block)]
13
14 unpadding = lambda data: data[:-data[-1]]
15
16 list_to_bytes = lambda data: b''.join([bytes((i,)) for i in data])
17
18 bytes_to_list = lambda data: [i for i in data]
19
20 random_hex = lambda x: ''.join([choice('0123456789abcdef') for _ in range(x)])