python 异或加密字符串的实例

yipeiwu_com5年前Python基础

做个简单习题:输入明文给定秘钥,密文还原,按位异或处理。

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滑块验证码的破解实现

python滑块验证码的破解实现

破解滑块验证码的思路主要有2种: 获得一张完整的背景图和一张有缺口的图片,两张图片进行像素上的一一对比,找出不一样的坐标。 获得一张有缺口的图片和需要验证的小图,两张图片进行二...

将python运行结果保存至本地文件中的示例讲解

一、建立文件,保存数据 1.使用python中内置的open函数 打开txt文件 #mode 模式 #w 只能操作写入 r 只能读取 a 向文件追加 #w+ 可读可写 r+可读可写...

python判断所输入的任意一个正整数是否为素数的两种方法

素数(也称质数),是指除了1和该数本身,不能被任何正整数整除的正整数。判断一个正整数m是否为素数,只要判断m可否被2~根号m之中的任何一个正整数整除,如果m不能被此范围中任何一个正整数整...

Python中输出ASCII大文字、艺术字、字符字小技巧

Python中输出ASCII大文字、艺术字、字符字小技巧

复制代码 代码如下: display text in large ASCII art fonts 显示大ASCII艺术字体 这种东西在源码声明或者软件初始化控制台打印时候很有用。...

Python正则表达式分组概念与用法详解

本文实例讲述了Python正则表达式分组概念与用法。分享给大家供大家参考,具体如下: 正则表达式分组 分组就是用一对圆括号“()”括起来的正则表达式,匹配出的内容就表示一个分组。从正则...