python实现字符串加密成纯数字


Posted in Python onMarch 19, 2019

本文实例为大家分享了python实现字符串加密成纯数字的具体代码,供大家参考,具体内容如下

说明: 

该加密算法仅仅是做一个简单的加密,安全性就不谈了,哈哈. 

算法流程:

1.字符串以utf8编码成字节数组
2.把每一个字节转换成十进制数字字符串('0'~'255')
3.在每个十进制数字字符串之前加上一个长度位(长度位固定只占1个字符)
4.进行数字替换,例如:(0-1,1-9,2-3,3-8,4-7,5-6,6-2,7-4,8-5,9-0) 

代码实现:

加密:

#加密
def encrypt(srcStr,password='1938762450'):
 #将字符串转换成字节数组
 data=bytearray(srcStr.encode('utf-8'))
 #把每个字节转换成数字字符串
 strList=[str(byte) for byte in data]
 #给每个数字字符串前面加一个长度位
 strList=[str(len(s))+s for s in strList]
 #进行数字替换
 for index0 in range(len(strList)):
  tempStr = ""
  for index in range(len(strList[index0])):
   tempStr+=password[int(strList[index0][index])]
  strList[index0]=tempStr
 return "".join(strList)

解密:

#解密
def decrypt(srcStr,password='1938762450'):
 #数字替换还原
 tempStr=""
 for index in range(len(srcStr)):
  tempStr+=str(password.find(srcStr[index]))
 #去掉长度位,还原成字典
 index=0
 strList=[]
 while True:
  #取长度位
  length=int(tempStr[index])
  #取数字字符串
  s=tempStr[index+1:index+1+length]
  #加入到列表中
  strList.append(s)
  #增加偏移量
  index+=1+length
  #退出条件
  if index>=len(tempStr):
   break
 data=bytearray(len(strList))
 for i in range(len(data)):
  data[i]=int(strList[i])
 return data.decode('utf-8')

测试:

if __name__ == '__main__':
 ret=encrypt('id:123,time:7200,key:123456789987654321','1938762450')
 print('密文:',ret)
 
 ret=decrypt(ret,'1938762450')
 print('原文:',ret)

运行结果:

python实现字符串加密成纯数字

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现k均值算法示例(k均值聚类算法)
Mar 16 Python
pygame学习笔记(4):声音控制
Apr 15 Python
Python中的字符串替换操作示例
Jun 27 Python
对numpy 数组和矩阵的乘法的进一步理解
Apr 04 Python
浅谈关于Python3中venv虚拟环境
Aug 01 Python
对Python3之进程池与回调函数的实例详解
Jan 22 Python
机器学习实战之knn算法pandas
Jun 22 Python
利用Python进行图像的加法,图像混合(附代码)
Jul 14 Python
python matplotlib如何给图中的点加标签
Nov 14 Python
python读取yaml文件后修改写入本地实例
Apr 27 Python
用python发送微信消息
Dec 21 Python
利用Opencv实现图片的油画特效实例
Feb 28 Python
python实现简单加密解密机制
Mar 19 #Python
python使用adbapi实现MySQL数据库的异步存储
Mar 19 #Python
python异步存储数据详解
Mar 19 #Python
利用Python半自动化生成Nessus报告的方法
Mar 19 #Python
python实现手机销售管理系统
Mar 19 #Python
Python使用修饰器进行异常日志记录操作示例
Mar 19 #Python
python学生管理系统学习笔记
Mar 19 #Python
You might like
PHP中通过ADO调用Access数据库的方法测试不通过
2006/12/31 PHP
PHP6 先修班 JSON实例代码
2008/08/23 PHP
PHP计算日期相差天数实例分析
2016/02/23 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
2018/06/20 PHP
漂亮的thinkphp 跳转页封装示例
2019/10/16 PHP
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
基于JS实现的随机数字抽签实例
2016/12/08 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
使用socket.io实现简单聊天室案例
2018/01/02 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
[40:05]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第一局
2016/02/25 DOTA
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
pandas 小数位数 精度的处理方法
2018/06/09 Python
python生成lmdb格式的文件实例
2018/11/08 Python
python实现电子书翻页小程序
2019/07/23 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
2019/09/04 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
原来我一直安装 Python 库的姿势都不对呀
2019/11/11 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
pycharm全局搜索的具体步骤
2020/07/28 Python
python3字符串输出常见面试题总结
2020/12/01 Python
数据库笔试题
2013/05/09 面试题
函授药学自我鉴定
2014/02/07 职场文书
感恩主题班会教案
2015/08/12 职场文书
让人瞬间清醒的句子,句句经典,字字如金
2019/07/08 职场文书
各类场合主持词开场白范文集锦
2019/08/16 职场文书
2019年特色火锅店的创业计划书模板
2019/08/28 职场文书
python实现自动化群控的步骤
2021/04/11 Python
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android