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遍历类中所有成员的方法
Mar 18 Python
Python基于Tkinter实现的记事本实例
Jun 17 Python
Python执行时间的计算方法小结
Mar 17 Python
详解python中executemany和序列的使用方法
Aug 12 Python
浅谈Pycharm调用同级目录下的py脚本bug
Dec 03 Python
python实现五子棋小游戏
Mar 25 Python
Python3简单实现串口通信的方法
Jun 12 Python
python 爬取古诗文存入mysql数据库的方法
Jan 08 Python
Python netmiko模块的使用
Feb 14 Python
Selenium alert 弹窗处理的示例代码
Aug 06 Python
Python datetime 如何处理时区信息
Sep 02 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
Dec 09 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脚本的10个技巧(3)
2006/10/09 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
php自动获取关键字的方法
2015/01/06 PHP
php写入数据到CSV文件的方法
2015/03/14 PHP
PHP用反撇号执行外部命令
2015/04/14 PHP
PHP实现的json类实例
2015/07/28 PHP
PHP实现的堆排序算法详解
2017/08/17 PHP
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
2016/01/29 Javascript
JavaScript实现的选择排序算法实例分析
2017/04/14 Javascript
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
详解微信小程序Page中data数据操作和函数调用
2017/09/27 Javascript
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
vue动态改变背景图片demo分享
2018/09/13 Javascript
JS实现深度优先搜索求解两点间最短路径
2019/01/17 Javascript
[08:08]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY
2014/06/25 DOTA
[40:05]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第一局
2016/02/25 DOTA
从零学Python之入门(五)缩进和选择
2014/05/27 Python
Python列表list数组array用法实例解析
2014/10/28 Python
Python模拟用户登录验证
2017/09/11 Python
Python实现图像的垂直投影示例
2020/01/17 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
2020/04/22 Python
解决tensorflow读取本地MNITS_data失败的原因
2020/06/22 Python
html5绘制时钟动画
2014/12/15 HTML / CSS
TCP/IP模型的分界线
2012/12/01 面试题
CSS代码检查工具stylelint的使用方法详解
2021/03/27 HTML / CSS
会计电算化大学生职业规划书
2014/02/05 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
优秀护士先进事迹
2014/05/08 职场文书
幼儿发展评估方案
2014/06/11 职场文书
物业消防安全责任书
2014/07/23 职场文书
三严三实对照检查材料范文
2014/09/23 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
一文了解JavaScript用Element Traversal新属性遍历子元素
2021/11/27 Javascript