做个简单习题:输入明文给定秘钥,密文还原,按位异或处理。
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.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 异或加密字符串的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
您可能感兴趣的文章:python实现字符串加密成纯数字Python使用MD5加密算法对字符串进行加密操作示例Python实现对字符串的加密解密方法示例Python使用MD5加密字符串示例python字符串加密解密的三种方法分享(base64 win32com)python实现字符串加密 生成唯一固定长度字符串