From 09bbb059b9994a1172ef364c85a5d169ac1d54b6 Mon Sep 17 00:00:00 2001 From: malvidin Date: Sun, 11 Dec 2022 11:06:53 +0100 Subject: [PATCH] Use int.to_bytes to speed up decoding --- base58/__init__.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/base58/__init__.py b/base58/__init__.py index 929014f..75f8e11 100644 --- a/base58/__init__.py +++ b/base58/__init__.py @@ -123,12 +123,7 @@ def b58decode( acc = b58decode_int(v, alphabet=alphabet, autofix=autofix) - result = [] - while acc > 0: - acc, mod = divmod(acc, 256) - result.append(mod) - - return b'\0' * (origlen - newlen) + bytes(reversed(result)) + return acc.to_bytes(origlen - newlen + (acc.bit_length() + 7) // 8, 'big') def b58encode_check(