python 異或加密字串的例項

2022-09-28 02:09:10 字數 957 閱讀 7581

做個簡單習題:輸入明文給定秘鑰,密文還原,按位異或處理。

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中,包括整形,字元型,以及列舉型別。在處理字串的匹配問題時,就可以有一種新的思路了。將 待匹配的字串 和 文字字串 分別轉化為 字元陣列。然後進行兩個字元陣列的匹配 也就是異或運算 主要意思如下,描述的可能不太精確,理...