diff --git a/adafruit_rsa/transform.py b/adafruit_rsa/transform.py index 922a1ab..a64f523 100755 --- a/adafruit_rsa/transform.py +++ b/adafruit_rsa/transform.py @@ -178,7 +178,7 @@ def int2bytes(number, fill_size=None, chunk_size=None, overflow=False): raise ValueError("You can either fill or pad chunks, but not both") # Ensure these are integers. - assert number & 1 == 0, "Number must be an unsigned integer, not a float." + assert isinstance(number, int), "Number must be an unsigned integer, not a float." raw_bytes = b"" @@ -202,7 +202,7 @@ def int2bytes(number, fill_size=None, chunk_size=None, overflow=False): raise OverflowError( "Need %d bytes for number, but fill size is %d" % (length, fill_size) ) - raw_bytes = "% {}s".format(fill_size).encode() % raw_bytes + raw_bytes = (b"\x00" * (fill_size - len(raw_bytes))) + raw_bytes elif chunk_size and chunk_size > 0: remainder = length % chunk_size if remainder: