做個簡單習題:輸入明文給定秘鑰,密文還原,按位異或處理。
import base64 as b64def 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.append( chr( ord(each)^ord(key[num]) ) ) num+=1 return "".join( secret )tips= "1234567"key= "owen"secret = xor_encrypt(tips,key)print( "cipher_text:", secret )plaintxt = xor_decrypt( secret, key )print( "plain_text:",plaintxt )
以上這篇python 異或加密字符串的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答