簡體   English   中英

如何再次將十六進制字符串轉換為密文以進行解密

[英]How to convert hex string again into cipher text for decryption

我正在使用pycrypto模塊生成密文。 問題是生成的密文無法保存,因為它不是人類可讀的。

 >>> a=AES.new("1234567890123456")
    >>> m='aaaabbbbccccdddd'
    >>> a.encrypt(m)
    'H\xe7\n@\xe0\x13\xe0M\xc32\xce\x16@\xb2B\xd0'

我想將此加密的消息保存在我的數據庫中,由於它不易閱讀,因此現在無法執行此操作。 我可以通過將其轉換為十六進制代碼來保存數據:

a.encrypto(m).encode('hex')

並生成十六進制代碼並將其保存在我的數據庫中。 問題是如何將這個encrypted hex code轉換回相同的形式進行解密? 有人可以在這里幫助我嗎?

我的用戶將從數據庫訪問加密的消息,將其解密,然后檢查消息的完整性! 誰能幫助我將十六進制代碼轉換回密文?

使用hex反向解碼:

>>> encrypted = 'H\xe7\n@\xe0\x13\xe0M\xc32\xce\x16@\xb2B\xd0'
>>> encoded = encrypted.encode('hex')
>>> decoded = encoded.decode('hex')
>>> encrypted == decoded
True

問題解決! :)

您可以使用base64.b64encode(cipher_text)將數據保存到數據庫中,然后使用base64.b64decode(instance.encrypted_message)檢索數據。 該解決方案為我工作。

您還需要import base64

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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