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程序添加图形化界面的教程
Apr 29 Python
python根据unicode判断语言类型实例代码
Jan 17 Python
python增加矩阵维度的实例讲解
Apr 04 Python
利用python在excel里面直接使用sql函数的方法
Feb 08 Python
Windows平台Python编程必会模块之pywin32介绍
Oct 01 Python
python将三维数组展开成二维数组的实现
Nov 30 Python
Python Sympy计算梯度、散度和旋度的实例
Dec 06 Python
PyTorch中topk函数的用法详解
Jan 02 Python
Python unittest单元测试openpyxl实现过程解析
May 27 Python
Windows 平台做 Python 开发的最佳组合(推荐)
Jul 27 Python
Python使用pyenv实现多环境管理
Feb 05 Python
方法汇总:Python 安装第三方库常用
Apr 26 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
CodeIgniter框架过滤HTML危险代码
2014/06/12 PHP
ThinkPHP跳转页success及error模板实例教程
2014/07/17 PHP
PHP微信H5支付开发实例
2018/07/25 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
Dom与浏览器兼容性说明
2010/10/25 Javascript
THREE.JS入门教程(3)着色器-下
2013/01/24 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
页面实时更新时间的JS实例代码
2013/12/18 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
2017/03/13 Javascript
Angular4自制一个市县二级联动组件示例
2017/11/21 Javascript
js自定义trim函数实现删除两端空格功能
2018/02/09 Javascript
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
2018/07/25 jQuery
js实现圆形显示鼠标单击位置
2020/02/11 Javascript
[10:42]Team Liquid Vs Newbee
2018/06/07 DOTA
Python中使用HTMLParser解析html实例
2015/02/08 Python
Python functools模块学习总结
2015/05/09 Python
Python的语言类型(详解)
2017/06/24 Python
python 3.0 模拟用户登录功能并实现三次错误锁定
2017/11/01 Python
python3.6 实现AES加密的示例(pyCryptodome)
2018/01/10 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
2020/12/05 Python
Crocs卡骆驰洞洞鞋日本官方网站:Crocs日本
2016/08/25 全球购物
Omio俄罗斯:一次搜索公共汽车、火车和飞机的机票
2018/11/17 全球购物
DOM和JQuery对象有什么区别
2016/11/11 面试题
大专生工程监理求职信
2013/10/04 职场文书
货代行业个人求职简历的自我评价
2013/10/22 职场文书
上海世博会志愿者口号
2014/06/17 职场文书
竞聘自述材料
2014/08/25 职场文书
2014年保卫部工作总结
2014/11/21 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书