簡體   English   中英

Python3:試圖將 b' ' 字符串解碼為 ascii

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM