sbuss/bitmerchant — pull request #32 by mflaxman (2014-05-03 01:03:56+00:00)
Title: add user_entropy to new_random_wallet to add protection against a compromised CSPRNG

Hey @sbuss, awesome library you've built! Super clean and easy to follow.

What do you think of this change?

Example usage:
```
In [1]: from bitmerchant.wallet import Wallet

In [2]: Wallet.new_random_wallet(user_entropy=12345678901234567890).to_address()
Out[2]: u'15WiLZ6ojwosd2E5jJ4jqsPVvbHAVuRUUi'

In [3]: Wallet.new_random_wallet(user_entropy=12345678901234567890).to_address()
Out[3]: u'14RxfUeo2eQsbkdsZdmgvsxZyYVkS7whmM'
```

Of course, it works as it always has without `user_entropy`:
```
In [4]: Wallet.new_random_wallet().to_address()
Out[4]: u'1NZEoHtJ34G4LY4g6sLmjECqFPCUaBzJ7h'

In [5]: Wallet.new_random_wallet().to_address()
Out[5]: u'1AZCdckHDB31xDgnTnV1Tkf1ppLrmqqjcx'
```

I restricted `user_entropy` to ints/longs for simplicity, but perhaps it would be better to allow any type of input to make banging on the keyboard easier? Another benefit is that a larger character space means less banging needed to get the same amount of entropy.