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获取apk文件URL地址实例
Nov 01 Python
django实现用户登陆功能详解
Dec 11 Python
Python实现自定义顺序、排列写入数据到Excel的方法
Apr 23 Python
Python向Excel中插入图片的简单实现方法
Apr 24 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
Jun 27 Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 Python
如何实现Django Rest framework版本控制
Jul 25 Python
django-crontab 定时执行任务方法的实现
Sep 06 Python
pymysql模块的使用(增删改查)详解
Sep 09 Python
Python文件操作函数用法实例详解
Dec 24 Python
nginx搭建基于python的web环境的实现步骤
Jan 03 Python
使用Python爬取小姐姐图片(beautifulsoup法)
Feb 11 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
js和php邮箱地址验证的实现方法
2014/01/09 PHP
PHP屏蔽过滤指定关键字的方法
2014/11/03 PHP
PDO预处理语句PDOStatement对象使用总结
2014/11/20 PHP
PHP中$this和$that指针使用实例
2015/01/06 PHP
php中define用法实例
2015/07/30 PHP
PHP实现的简单路由和类自动加载功能
2018/03/13 PHP
js类的静态属性和实例属性的理解
2009/10/01 Javascript
基于jquery的实现简单的表格中增加或删除下一行
2010/08/01 Javascript
jquery 字符串切割函数substring的用法说明
2014/02/11 Javascript
JavaScript制作简易的微信打飞机
2015/03/31 Javascript
Javascript进制转换实例分析
2015/05/14 Javascript
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
利用jquery实现瀑布流3种案例
2016/09/18 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
JS实现json数组排序操作实例分析
2019/10/28 Javascript
小程序如何定位所在城市及发起周边搜索
2020/02/11 Javascript
解决vue elementUI 使用el-select 时 change事件的触发问题
2020/11/17 Vue.js
vue-calendar-component 封装多日期选择组件的实例代码
2020/12/04 Vue.js
python实现应用程序在右键菜单中添加打开方式功能
2017/01/09 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
Python使用re模块正则提取字符串中括号内的内容示例
2018/06/01 Python
浅析python参数的知识点
2018/12/10 Python
Django外键(ForeignKey)操作以及related_name的作用详解
2019/07/29 Python
Django 通过JS实现ajax过程详解
2019/07/30 Python
django实现web接口 python3模拟Post请求方式
2019/11/19 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
俄罗斯香水在线商店:AromaCode
2019/12/04 全球购物
初任培训自我鉴定
2013/10/07 职场文书
农村葬礼主持词
2014/03/31 职场文书
2014年食堂工作总结
2014/11/20 职场文书
幼师辞职信范文
2015/02/27 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
Python标准库pathlib操作目录和文件
2021/11/20 Python