簡體   English   中英

如何在Python 3中對兩個十六進制字符串進行異或?

[英]How to XOR two hex strings in Python 3?

我有兩個字符串存儲在2個單獨的文件中, string1="95274DE03C78B0BD"string2="48656c6c6f20576f"

我怎么能在Python 3中對它們進行按位異或? 我希望得到DD42218C5358E7D2作為我的結果。 請注意,我不想ord()字符串,我的字符串已經是十六進制。

Python 3中的字符串是unicode對象,因此一串十六進制字符不對應於內存中整數的二進制表示(您需要使用XOR)。

考慮到這一點,您可以首先將字符串解釋為base-16整數,將它們異或,並將結果整數轉換回十六進制字符串:

>>> hex(int(string1, 16) ^ int(string2, 16))
'0xdd42218c5358e7d2'

暫無
暫無

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

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