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中capitalize()与title()的区别详解
Dec 09 Python
Python Socket使用实例
Dec 18 Python
python抓取文件夹的所有文件
Feb 27 Python
python购物车程序简单代码
Apr 18 Python
Python 正则表达式匹配字符串中的http链接方法
Dec 25 Python
使用python绘制二元函数图像的实例
Feb 12 Python
python批量读取文件名并写入txt文件中
Sep 05 Python
python自动保存百度盘资源到百度盘中的实例代码
Aug 26 Python
pytorch 常用线性函数详解
Jan 15 Python
如何使用pandas读取txt文件中指定的列(有无标题)
Mar 05 Python
浅析python 定时拆分备份 nginx 日志的方法
Apr 27 Python
Django中Aggregation聚合的基本使用方法
Jul 09 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检查端口是否可以被绑定的方法示例
2018/08/09 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
学习ExtJS accordion布局
2009/10/08 Javascript
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
Angular用来控制元素的展示与否的原生指令介绍
2015/01/07 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
JavaScript里实用的原生API汇总
2015/05/14 Javascript
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
jquery实现漂亮的二级下拉菜单代码
2015/08/26 Javascript
详解Javascript继承的实现
2016/03/25 Javascript
jQuery UI结合Ajax创建可定制的Web界面
2016/06/22 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
简单的js计算器实现
2016/10/26 Javascript
jQuery事件详解
2017/02/23 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
使用vue-cli+webpack搭建vue开发环境的方法
2017/12/22 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
微信小程序实现弹出菜单
2018/07/19 Javascript
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
10款最好的Web开发的 Python 框架
2015/03/18 Python
pymongo为mongodb数据库添加索引的方法
2015/05/11 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
2019/01/29 Python
django celery redis使用具体实践
2019/04/08 Python
python实现可变变量名方法详解
2019/07/01 Python
python如何获取apk的packagename和activity
2020/01/10 Python
德国网上超市:myTime.de
2019/08/26 全球购物
普通院校学生的自荐信
2013/11/27 职场文书
小学生家长评语大全
2014/02/10 职场文书
计算机系本科生求职信
2014/05/31 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
民间借贷借条范本
2015/05/25 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书
2019年度行政文员工作计划范本!
2019/07/04 职场文书
redis哨兵常用命令和监控示例详解
2021/05/27 Redis