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中的__init__和__new__
Mar 12 Python
Python使用random和tertools模块解一些经典概率问题
Jan 28 Python
python访问类中docstring注释的实现方法
May 04 Python
轻松实现TensorFlow微信跳一跳的AI
Jan 05 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
Feb 13 Python
python字符串常用方法
Jun 14 Python
pycharm安装和首次使用教程
Aug 27 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
Sep 13 Python
pygame库实现俄罗斯方块小游戏
Oct 29 Python
python实现在一个画布上画多个子图
Jan 19 Python
django数据模型中null和blank的区别说明
Sep 02 Python
关于python pygame游戏进行声音添加的技巧
Oct 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 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
2010/04/28 PHP
php 智能404跳转代码,适合换域名没改变目录的网站
2010/06/04 PHP
php判断linux下程序问题实例
2015/07/09 PHP
jQuery调用WebService的实现代码
2011/06/19 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
javascript表单验证 - Parsley.js使用和配置
2013/01/25 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
jquery live()调用不存在的解决方法
2014/02/26 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
2015/11/30 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
完美实现js选项卡切换效果(一)
2017/03/08 Javascript
BootStrap给table表格的每一行添加一个按钮事件
2017/09/07 Javascript
async/await优雅的错误处理方法总结
2019/01/30 Javascript
JavaScript学习教程之cookie与webstorage
2019/06/23 Javascript
[01:30]我们共输赢 完美世界城市挑战赛开启全新赛季
2019/04/19 DOTA
python网络爬虫采集联想词示例
2014/02/11 Python
Python中Collection的使用小技巧
2014/08/18 Python
Centos5.x下升级python到python2.7版本教程
2015/02/14 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
2016/07/01 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
python中的unittest框架实例详解
2021/02/05 Python
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
产品质量承诺范本
2014/03/31 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
8和9的加减法教学反思
2014/05/01 职场文书
六查六看剖析材料
2014/10/06 职场文书
给老婆的保证书
2015/01/16 职场文书
质量负责人岗位职责
2015/02/15 职场文书
大学生求职信怎么写
2015/03/19 职场文书
vue自定义右键菜单之全局实现
2022/04/09 Vue.js
Python简易开发之制作计算器
2022/04/28 Python