python 异或加密字符串的实例


Posted in Python onOctober 14, 2018

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

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之eval()函数危险性浅析
Jul 03 Python
Django框架中方法的访问和查找
Jul 15 Python
python验证码识别的实例详解
Sep 09 Python
浅谈Python 多进程默认不能共享全局变量的问题
Jan 11 Python
PyCharm设置每行最大长度限制的方法
Jan 16 Python
Python Pexpect库的简单使用方法
Jan 29 Python
python爬虫租房信息在地图上显示的方法
May 13 Python
python中图像通道分离与合并实例
Jan 17 Python
调整Jupyter notebook的启动目录操作
Apr 10 Python
python实现数字炸弹游戏程序
Jul 17 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
Jul 30 Python
Django框架实现在线考试系统的示例代码
Nov 30 Python
python实现换位加密算法的示例
Oct 14 #Python
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
Oct 14 #Python
Python中实例化class的执行顺序示例详解
Oct 14 #Python
Python读取Excel表格,并同时画折线图和柱状图的方法
Oct 14 #Python
对python3中pathlib库的Path类的使用详解
Oct 14 #Python
python使用numpy读取、保存txt数据的实例
Oct 14 #Python
Python读取txt某几列绘图的方法
Oct 14 #Python
You might like
DOTA2 6.87版本后新眼位详解攻略
2020/04/20 DOTA
基于mysql的bbs设计(一)
2006/10/09 PHP
简体中文转换为繁体中文的PHP函数
2006/10/09 PHP
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
JS Timing
2007/04/21 Javascript
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
转换json格式的日期为Javascript对象的函数
2010/07/13 Javascript
JavaScript中的面向对象介绍
2012/06/30 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
js编写简单的计时器功能
2017/07/15 Javascript
Angular项目中$scope.$apply()方法的使用详解
2017/07/26 Javascript
微信小程序使用navigateTo数据传递的实例
2017/09/26 Javascript
详解Angular-ui-BootStrap组件的解释以及使用
2018/07/13 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
页面内锚点定位及跳转方法总结(推荐)
2019/04/24 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
微信小程序中weui用法解析
2019/10/21 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
vue 避免变量赋值后双向绑定的操作
2020/11/07 Javascript
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
Python的垃圾回收机制深入分析
2014/07/16 Python
Python合并多个装饰器小技巧
2015/04/28 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
python实时监控logstash日志代码
2020/04/27 Python
Python的collections模块真的很好用
2021/03/01 Python
美国半成品食材配送服务商:Home Chef
2018/01/25 全球购物
网络安全类面试题
2015/08/01 面试题
硕士研究生求职自荐信范文
2014/03/11 职场文书
党员教师一句话承诺
2014/05/30 职场文书
趣味运动会开幕词
2015/01/28 职场文书
MySQL数据库压缩版本安装与配置详细教程
2021/05/21 MySQL