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搭建Django应用程序步骤及版本冲突问题解决
Nov 19 Python
Python简单格式化时间的方法【strftime函数】
Sep 18 Python
python实现Floyd算法
Jan 03 Python
便捷提取python导入包的属性方法
Oct 15 Python
python实现超市商品销售管理系统
Nov 22 Python
python opencv图片编码为h264文件的实例
Dec 12 Python
TensorFlow2.0矩阵与向量的加减乘实例
Feb 07 Python
Python3.9新特性详解
Oct 10 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
Oct 21 Python
解决python3输入的坑——input()
Dec 05 Python
python实现发送QQ邮件(可加附件)
Dec 23 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 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
与数据库连接
2006/10/09 PHP
PHP高级OOP技术演示
2009/08/27 PHP
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
[原创]php正则删除img标签的方法示例
2017/05/27 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
2020/04/14 PHP
Javascript学习笔记一 之 数据类型
2010/12/15 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
parentElement,srcElement的使用小结
2014/01/13 Javascript
仿JQuery输写高效JSLite代码的一些技巧
2015/01/13 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
Bootstrap table 定制提示语的加载过程
2017/02/20 Javascript
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
用vue快速开发app的脚手架工具
2018/06/11 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
深入解析Python中的上下文管理器
2016/06/28 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
Python中format()格式输出全解
2019/04/12 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
详解Flask前后端分离项目案例
2020/07/24 Python
详解python 支持向量机(SVM)算法
2020/09/18 Python
详解CSS3中使用gradient实现渐变效果的方法
2015/08/18 HTML / CSS
船餐厅和泰晤士河餐饮游轮:Bateaux London
2018/03/19 全球购物
会计毕业自我鉴定
2014/02/05 职场文书
售后服务经理岗位职责
2014/02/25 职场文书
党员领导干部廉洁从政承诺书
2014/03/27 职场文书
搞笑老公保证书
2015/02/26 职场文书
亮剑精神观后感
2015/06/05 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
详解PHP设计模式之依赖注入模式
2021/05/25 PHP