【问题标题】:Is there any way to print hexadecimal and bytes in label widget in tkinter python?有没有办法在 tkinter python 的标签小部件中打印十六进制和字节?
【发布时间】:2021-09-23 21:55:40
【问题描述】:

我一直在做一个类项目,用 python 编写加密代码。我使用了 AES 加密。但是现在在使用 Tkinter 创建图形界面时,我无法打印十六进制的密文。如果有人知道如何在 Tkinter 的标签小部件中打印十六进制或字节,请告诉我。谢谢。

ciphertext = ciphertext + list(encrypt(plaintext.encode(), key, AES.MODE_ECB))
cipher_label = Label(win, text='Cipher: ' + binascii.hexlify(bytes(ciphertext)))
cipher_label.place(x=80, y=270)

【问题讨论】:

    标签: python tkinter label


    【解决方案1】:

    binascii.hexlify(bytes(ciphertext)) 返回另一个 bytes 对象,其中包含相应的十六进制。您正在寻找 bytes(ciphertext).hex() 以获取字符串表示形式。

    【讨论】:

    • 谢谢,它成功了。我的代码还有一个问题:这是我的 for 暴力破解循环:for passw in passwords: key = hashlib.sha256(passw.encode()).digest() plaintext = decrypt(bytes(ciphertext), key, AES.MODE_ECB) plaintext_label = Label(win, text=plaintext) plaintext_label.place(x=80, y=360) if isprintable(plaintext): p = Padding.removePadding(plaintext.decode(), mode='CMS') pi_label = Label(win, text='Found: ' + p) pi_label.place(x=80, y=390) 但是它的plaintext_label只打印第一个?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-12
    • 2023-04-07
    • 1970-01-01
    • 2013-01-18
    相关资源
    最近更新 更多