def test_zero_bytes(self): self.assertEqual(base58.b58encode(ZERO_BYTES_4), b("1111")) self.assertEqual(base58.b58decode(b("1111")), ZERO_BYTES_4) self.assertEqual(base58.b58encode(ZERO_BYTE), b("1")) self.assertEqual(base58.b58decode(b("1")), ZERO_BYTE) self.assertEqual(_alt_base.b58encode_naive(ZERO_BYTES_4), b("1111")) self.assertEqual(_alt_base.b58decode_naive(b("1111")), ZERO_BYTES_4) self.assertEqual(_alt_base.b58encode_naive(ZERO_BYTE), b("1")) self.assertEqual(_alt_base.b58decode_naive(b("1")), ZERO_BYTE) self.assertEqual(codec.base58_encode(ZERO_BYTES_4), b("1111")) self.assertEqual(codec.base58_decode(b("1111")), ZERO_BYTES_4) self.assertEqual(codec.base58_encode(ZERO_BYTE), b("1")) self.assertEqual(codec.base58_decode(b("1")), ZERO_BYTE)
def test_zero_bytes(self): self.assertEqual(b58encode(zero_bytes_4), b('1111')) self.assertEqual(b58decode(b('1111')), zero_bytes_4) self.assertEqual(b58encode(ZERO_BYTE), b('1')) self.assertEqual(b58decode(b('1')), ZERO_BYTE) self.assertEqual(b58encode_naive(zero_bytes_4), b('1111')) self.assertEqual(b58decode_naive(b('1111')), zero_bytes_4) self.assertEqual(b58encode_naive(ZERO_BYTE), b('1')) self.assertEqual(b58decode_naive(b('1')), ZERO_BYTE) self.assertEqual(base58_encode(zero_bytes_4), b('1111')) self.assertEqual(base58_decode(b('1111')), zero_bytes_4) self.assertEqual(base58_encode(ZERO_BYTE), b('1')) self.assertEqual(base58_decode(b('1')), ZERO_BYTE)
def test_encoding_and_decoding(self): hello_world = b("\x48\x65\x6c\x6c\x6f\x20\x77\x6f\x72\x6c\x64") encoded_hello_world = base58.b58encode(hello_world) self.assertEqual(encoded_hello_world, _alt_base.b58encode_naive(hello_world)) self.assertEqual(base58.b58decode(encoded_hello_world), hello_world) self.assertEqual(integer.bytes_to_uint(base58.b58decode(b("16Ho7Hs"))), 3471844090) self.assertEqual( base58.b58encode(integer.uint_to_bytes(3471844090, 5)), b("16Ho7Hs")) self.assertEqual(base58.b58encode(RAW_DATA), ENCODED) self.assertEqual(base58.b58decode(ENCODED), RAW_DATA) self.assertEqual(base58.b58decode(ENCODED_WITH_WHITESPACE), RAW_DATA) self.assertEqual(_alt_base.b58decode_naive(ENCODED), RAW_DATA) self.assertEqual(_alt_base.b58decode_naive(ENCODED_WITH_WHITESPACE), RAW_DATA) self.assertEqual(codec.base58_encode(RAW_DATA), ENCODED) self.assertEqual(codec.base58_decode(ENCODED), RAW_DATA) self.assertEqual(codec.base58_decode(ENCODED_WITH_WHITESPACE), RAW_DATA)
def test_encodes_zero_prefixed_padding(self): self.assertEqual(base58.b58decode(base58.b58encode(PADDING_RAW)), PADDING_RAW) self.assertEqual( _alt_base.b58decode_naive(base58.b58encode(PADDING_RAW)), PADDING_RAW) self.assertEqual(codec.base58_decode(codec.base58_encode(PADDING_RAW)), PADDING_RAW)
def test_codec_identity(self): self.assertEqual(base58.b58decode(base58.b58encode(RANDOM_BYTES)), RANDOM_BYTES) self.assertEqual( _alt_base.b58decode_naive(base58.b58encode(RANDOM_BYTES)), RANDOM_BYTES) self.assertEqual( codec.base58_decode(codec.base58_encode(RANDOM_BYTES)), RANDOM_BYTES)
def generate_verification_code(n_bits=64): """ Compact human-inputable strong verification code. :param n_bits: Bit size. 64 is default. :returns: A base58-encoded random unsigned integral human-inputable compact verification code. """ return base58_encode(generate_random_bits(n_bits))
def test_encoding_and_decoding(self): hello_world = b("\x48\x65\x6c\x6c\x6f\x20\x77\x6f\x72\x6c\x64") encoded_hello_world = base58.b58encode(hello_world) self.assertEqual(encoded_hello_world, _alt_base.b58encode_naive(hello_world)) self.assertEqual(base58.b58decode(encoded_hello_world), hello_world) self.assertEqual(integer.bytes_to_uint(base58.b58decode(b("16Ho7Hs"))), 3471844090) self.assertEqual(base58.b58encode(integer.uint_to_bytes(3471844090, 5)), b("16Ho7Hs")) self.assertEqual(base58.b58encode(RAW_DATA), ENCODED) self.assertEqual(base58.b58decode(ENCODED), RAW_DATA) self.assertEqual(base58.b58decode(ENCODED_WITH_WHITESPACE), RAW_DATA) self.assertEqual(_alt_base.b58decode_naive(ENCODED), RAW_DATA) self.assertEqual(_alt_base.b58decode_naive(ENCODED_WITH_WHITESPACE), RAW_DATA) self.assertEqual(codec.base58_encode(RAW_DATA), ENCODED) self.assertEqual(codec.base58_decode(ENCODED), RAW_DATA) self.assertEqual(codec.base58_decode(ENCODED_WITH_WHITESPACE), RAW_DATA)
def test_encoding_and_decoding(self): hello_world = b('\x48\x65\x6c\x6c\x6f\x20\x77\x6f\x72\x6c\x64') encoded_hello_world = b58encode(hello_world) self.assertEqual(encoded_hello_world, b58encode_naive(hello_world)) self.assertEqual(b58decode(encoded_hello_world), hello_world) self.assertEqual(bytes_to_uint(b58decode(b("16Ho7Hs"))), 3471844090) self.assertEqual(b58encode(uint_to_bytes(3471844090, 5)), b("16Ho7Hs")) self.assertEqual(b58encode(raw_data), encoded) self.assertEqual(b58decode(encoded), raw_data) self.assertEqual(b58decode(encoded_with_whitespace), raw_data) self.assertEqual(b58decode_naive(encoded), raw_data) self.assertEqual(b58decode_naive(encoded_with_whitespace), raw_data) self.assertEqual(base58_encode(raw_data), encoded) self.assertEqual(base58_decode(encoded), raw_data) self.assertEqual(base58_decode(encoded_with_whitespace), raw_data)
def test_codec_identity(self): self.assertEqual(codec.base58_decode(codec.base58_encode(RANDOM_BYTES_1024)), RANDOM_BYTES_1024) self.assertEqual(codec.base58_decode(codec.base58_encode(RANDOM_BYTES_4093)), RANDOM_BYTES_4093)
def test_encodes_zero_prefixed_padding(self): self.assertEqual(base58.b58decode(base58.b58encode(PADDING_RAW)), PADDING_RAW) self.assertEqual(_alt_base.b58decode_naive(base58.b58encode(PADDING_RAW)), PADDING_RAW) self.assertEqual(codec.base58_decode(codec.base58_encode(PADDING_RAW)), PADDING_RAW)
def test_codec_identity(self): self.assertEqual(base58.b58decode(base58.b58encode(RANDOM_BYTES)), RANDOM_BYTES) self.assertEqual(_alt_base.b58decode_naive(base58.b58encode(RANDOM_BYTES)), RANDOM_BYTES) self.assertEqual(codec.base58_decode(codec.base58_encode(RANDOM_BYTES)), RANDOM_BYTES)
def test_codec_identity(self): self.assertEqual(base58_decode(base58_encode(random_bytes_1024)), random_bytes_1024) self.assertEqual(base58_decode(base58_encode(random_bytes_len_4093)), random_bytes_len_4093)
def test_encodes_zero_prefixed_padding(self): self.assertEqual(b58decode(b58encode(padding_raw)), padding_raw) self.assertEqual(b58decode_naive(b58encode(padding_raw)), padding_raw) self.assertEqual(base58_decode(base58_encode(padding_raw)), padding_raw)
def test_codec_identity(self): self.assertEqual(b58decode(b58encode(random_bytes)), random_bytes) self.assertEqual(b58decode_naive(b58encode(random_bytes)), random_bytes) self.assertEqual(base58_decode(base58_encode(random_bytes)), random_bytes)