做個簡單習題:輸入明文給定秘鑰,密文還原,按位異或處理。
import base64 as b64
def xor_encrypt(tips,key):
ltips=len(tips)
lkey=len(key)
secret=
num=0
for each in tips:
if num>=lkey:
num=num%lkey
secret.append( chr( ord(each)^ord(key[num]) ) )
num+=1
return b64.b64encode( "".join( secret ).encode() ).decode()
def xor_decrypt(secret,key):
tips = b64.b64decode( secret.encode() ).decode()
ltips=len(tips)
lkey=len(key)
secret=[程式設計客棧]
num=0
for each in tips:
if num>=lkey:
num=num%lkey
secret.appdfwrwend( chr( ord(eac程式設計客棧h)^ord(key[num]) ) )
num+=1
return "".join( secret )
tips= "1234567"
key "owen"
= xor_encrypt(tips,key)
print( "cipher_text:", secret )
plaintxt = xor_decrypt( secret, key )
print( "plain_text:",plaintxt )
本文標題: python 異或加密字串的例項
本文位址:
異或運算實現簡單的字串加密和解密
異或運算 1 1 0 1 0 1 0 1 1 0 0 0 字元 a 的ascii編碼為65 00000000 01000001 取整數7 00000000 00000000 00000000 00000111 xor運算後 00000000 00000000 00000000 01000110 簡單...
VB 異或(Xor)字串的方法
關鍵字 vb,vba,異或,xor,字串 前言 一 方法一,比較笨。二 方法二,感覺輕鬆多了。三 說一說關於ultraiso的部分演算法 簡介 大家都知道,異或 xor 是最常用的加密方式,在學習逆向時,經常會見到異或 xor 操作。最近研究 ultraiso 8.6.5.2140 版的演算法,裡面...
異或運算 之 字串的匹配問題
簡要的說一下,c語言的異或運算支援的資料型別 是 可以轉化為位運算的資料型別,在c中,包括整形,字元型,以及列舉型別。在處理字串的匹配問題時,就可以有一種新的思路了。將 待匹配的字串 和 文字字串 分別轉化為 字元陣列。然後進行兩個字元陣列的匹配 也就是異或運算 主要意思如下,描述的可能不太精確,理...