[英]Python3: Trying to decode b' ' string to ascii
我正在尝试解密 OTP。 密钥是使用以下代码生成的:
class OTPGenerator(metaclass=Singleton):
_OTP_LEN = 128
def __init__(self):
self.otp = os.urandom(OTPGenerator._OTP_LEN)
def get_otp(self):
return self.otp
我通过套接字连接收到加密文本:
b'7Vf\xba\xe1\xb1.\xeb\x05Y\xccL 1\xb2\xec\xb1<0\xb36\xce\xc3\x02\xd6^\xc6z\x15_\x88\x14k\xe9\x8c\xb1\xa5{\xd5\xe3LKE8\x16\xe2\xe1\xf0\xe1+[_\xd47\x13\xd8T\xa7E\x8f\xf3SR\xd1'
另一个以明文形式给出的加密文本:
input = flag
Encrypted Input: b'\t\x17J\x9c'
我试图在对它们进行异或运算之前对其进行解码,但它们被转换为字符串。
有没有人遇到过类似的问题?
os.urandom
模块产生 N 个随机字节,其中 N 作为参数传递。 从这个意义上说,我不确定您要解码什么,因为这是随机数据。
无论如何,这可能是您正在寻找的答案,它将os.urandom
生成的数据转换为 base64 编码字符串。
from base64 import b64encode
from os import urandom
random_bytes = urandom(64)
token = b64encode(random_bytes).decode('utf-8')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.