How To Decode Base64 In Python3
I have a base64 encrypt code, and I can't decode in python3.5 import base64 code = 'YWRtaW46MjAyY2I5NjJhYzU5MDc1Yjk2NGIwNzE1MmQyMzRiNzA' # Unencrypt is 202cb962ac59075b964b07152d23
Solution 1:
Base64 needs a string with length multiple of 4. If the string is short, it is padded with 1 to 3 =
.
import base64
code = "YWRtaW46MjAyY2I5NjJhYzU5MDc1Yjk2NGIwNzE1MmQyMzRiNzA="
base64.b64decode(code)
# b'admin:202cb962ac59075b964b07152d234b70'
Solution 2:
According to this answer, you can just add the required padding.
code = "YWRtaW46MjAyY2I5NjJhYzU5MDc1Yjk2NGIwNzE1MmQyMzRiNzA"
b64_string = code
b64_string += "=" * ((4 - len(b64_string) % 4) % 4)
base64.b64decode(b64_string) #'admin:202cb962ac59075b964b07152d234b70'
Solution 3:
I tried the other way around. If you know what the unencrypted value is:
>>>import base64>>>unencoded = b'202cb962ac59075b964b07152d234b70'>>>encoded = base64.b64encode(unencoded)>>>print(encoded)
b'MjAyY2I5NjJhYzU5MDc1Yjk2NGIwNzE1MmQyMzRiNzA='
>>>decoded = base64.b64decode(encoded)>>>print(decoded)
b'202cb962ac59075b964b07152d234b70'
Now you see the correct padding. b'MjAyY2I5NjJhYzU5MDc1Yjk2NGIwNzE1MmQyMzRiNzA=
Solution 4:
It actually seems to just be that code
is incorrectly padded (code
is incomplete)
importbase64code="YWRtaW46MjAyY2I5NjJhYzU5MDc1Yjk2NGIwNzE1MmQyMzRiNzA"
base64.b64decode(code+"=")
returns b'admin:202cb962ac59075b964b07152d234b70'
Post a Comment for "How To Decode Base64 In Python3"