decode v into a string of len bytes
(v, length = None)
| 51 | return (__b58chars[0]*nPad) + result |
| 52 | |
| 53 | def b58decode(v, length = None): |
| 54 | """ decode v into a string of len bytes |
| 55 | """ |
| 56 | long_value = 0 |
| 57 | for i, c in enumerate(v[::-1]): |
| 58 | pos = __b58chars.find(c) |
| 59 | assert pos != -1 |
| 60 | long_value += pos * (__b58base**i) |
| 61 | |
| 62 | result = bytes() |
| 63 | while long_value >= 256: |
| 64 | div, mod = divmod(long_value, 256) |
| 65 | result = chr(mod) + result |
| 66 | long_value = div |
| 67 | result = chr(long_value) + result |
| 68 | |
| 69 | nPad = 0 |
| 70 | for c in v: |
| 71 | if c == __b58chars[0]: |
| 72 | nPad += 1 |
| 73 | continue |
| 74 | break |
| 75 | |
| 76 | result = bytes(nPad) + result |
| 77 | if length is not None and len(result) != length: |
| 78 | return None |
| 79 | |
| 80 | return result |
| 81 | |
| 82 | def checksum(v): |
| 83 | """Return 32-bit checksum based on SHA256""" |
no test coverage detected