Python zfec howto/example
Posted | archive
To install
$ pip install zfec
Suppose I have two blocks of data and want a third block as redundancy
>>> zfec.Encoder(2, 3).encode(['ab', 'cd'])
['ab', 'cd', 'en']
>>> zfec.Decoder(2, 3).decode(['ab', 'cd', ], [0, 1])
['ab', 'cd']
# somehow lost the second block, use the third block the recover
>>> zfec.Decoder(2, 3).decode(['ab', 'en', ], [0, 2])
['ab', 'cd']
In the above example, k=2 and m=3
ref: https://pypi.python.org/pypi/zfec
secret = 123
a, b, c = [int((random.random() * 256)) for x in range(3)]
d = map(xor, [secret, a, b, c])
so 4 players has each a share of secret.
This is kinda lame... Shamir's scheme is much better
Comments