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利用ansible分发处理任务
Aug 04 Python
用Python实现斐波那契(Fibonacci)函数
Mar 25 Python
深入理解python中的闭包和装饰器
Jun 12 Python
python3读取MySQL-Front的MYSQL密码
May 03 Python
Python入门_浅谈逻辑判断与运算符
May 16 Python
分享一个可以生成各种进制格式IP的小工具实例代码
Jul 28 Python
Python搭建Spark分布式集群环境
Jul 05 Python
Django的Modelforms用法简介
Jul 27 Python
手机使用python操作图片文件(pydroid3)过程详解
Sep 25 Python
使用keras内置的模型进行图片预测实例
Jun 17 Python
python递归函数用法详解
Oct 26 Python
Python下载商品数据并连接数据库且保存数据
Mar 31 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实现rc4加密算法代码
2012/04/25 PHP
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
2013/06/20 PHP
PHP中读取照片exif信息的方法
2014/08/20 PHP
浅谈ThinkPHP的URL重写
2014/11/25 PHP
php遍历CSV类实例
2015/04/14 PHP
php中namespace及use用法分析
2016/12/06 PHP
laravel ORM关联关系中的 with和whereHas用法
2019/10/16 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
jquery isType() 类型判断代码
2011/02/14 Javascript
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
innerText和textContent对比及使用介绍
2013/02/27 Javascript
纯Javascript实现Windows 8 Metro风格实现
2013/10/15 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
layer插件select选中默认值的方法
2018/08/14 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
[01:29]2014DOTA2展望TI 剑指西雅图DK战队专访
2014/06/30 DOTA
[02:42]2014DOTA2国际邀请赛 三冰专访:我会打到Ti20
2014/07/13 DOTA
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
Python实现去除代码前行号的方法
2015/03/10 Python
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
2018/08/05 Python
Python引用计数操作示例
2018/08/23 Python
解决pycharm 误删掉项目文件的处理方法
2018/10/22 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
Python完成哈夫曼树编码过程及原理详解
2019/07/29 Python
keras.layer.input()用法说明
2020/06/16 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
野兽派官方旗舰店:THE BEAST 野兽派
2016/08/05 全球购物
美国体育用品在线:Modell’s Sporting Goods
2018/06/07 全球购物
优秀的毕业生的自我评价
2013/12/12 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
电台编导求职信
2014/05/06 职场文书