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写的创建文件夹自定义函数mkdir()
Aug 25 Python
Python实现Youku视频批量下载功能
Mar 14 Python
Python实现对字符串的加密解密方法示例
Apr 29 Python
Python中的pygal安装和绘制直方图代码分享
Dec 08 Python
Python hashlib模块用法实例分析
Jun 12 Python
python使用turtle库绘制时钟
Mar 25 Python
pycharm运行程序时在Python console窗口中运行的方法
Dec 03 Python
Appium Python自动化测试之环境搭建的步骤
Jan 23 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
Aug 24 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
Apr 22 Python
如何使用 Flask 做一个评论系统
Nov 27 Python
关于python中readlines函数的参数hint的相关知识总结
Jun 24 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 class类的用法详细总结
2013/10/17 PHP
smarty简单应用实例
2015/11/03 PHP
PHP+Ajax 检测网络是否正常实例详解
2016/12/16 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
一些不错的js函数ajax
2008/08/20 Javascript
$.ajax json数据传递方法
2008/11/19 Javascript
jquery 框架使用教程 AJAX篇
2009/10/11 Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
2011/05/23 Javascript
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
jquery合并表格中相同文本的相邻单元格
2015/07/17 Javascript
javascript解决小数的加减乘除精度丢失的方案
2016/05/31 Javascript
Javascript的this用法
2017/01/16 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
jquery代码规范让代码越来越好看
2017/02/03 Javascript
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
jquery实现二级导航下拉菜单效果实例
2019/05/14 jQuery
VueCli生产环境打包部署跨域失败的解决
2020/11/13 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
Python3基础之函数用法
2014/08/13 Python
python实现忽略大小写对字符串列表排序的方法
2014/09/25 Python
Python多线程编程(六):可重入锁RLock
2015/04/05 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
python字符串Intern机制详解
2019/07/01 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
向全球直邮输送天然健康产品:iHerb.com
2020/05/03 全球购物
企划专员岗位职责
2013/12/09 职场文书
骨干教师培训制度
2014/01/13 职场文书
小学生优秀评语大全
2014/04/22 职场文书
病媒生物防治方案
2014/05/13 职场文书
小学亲子活动总结
2014/07/01 职场文书
毕业生入职感言
2015/07/31 职场文书
团队合作精神学习心得体会
2016/01/19 职场文书
2017新年晚会开幕词
2016/03/03 职场文书
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js