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的Django框架中的ORM建立查询API
Apr 20 Python
浅谈python多线程和队列管理shell程序
Aug 04 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
Dec 19 Python
Python中函数参数设置及使用的学习笔记
May 03 Python
浅述python中argsort()函数的实例用法
Mar 30 Python
Python对象属性自动更新操作示例
Jun 15 Python
Python设计模式之享元模式原理与用法实例分析
Jan 11 Python
Python向excel中写入数据的方法
May 05 Python
python爬虫刷访问量 2019 7月
Aug 01 Python
新手学python应该下哪个版本
Jun 11 Python
Python中qutip用法示例详解
Oct 02 Python
Django如何重置migration的几种情景
Feb 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
如何去掉文章里的 html 语法
2006/10/09 PHP
BBS(php & mysql)完整版(三)
2006/10/09 PHP
shopex中集成的站长统计功能的代码简单分析
2011/08/11 PHP
PHP判断JSON对象是否存在的方法(推荐)
2016/07/06 PHP
php调用云片网接口发送短信的实现方法
2017/10/25 PHP
PHP中OpenSSL加密问题整理
2017/12/14 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
DOM下的节点属性和操作小结
2009/05/14 Javascript
THREE.JS入门教程(5)你应当知道的十件事
2013/01/24 Javascript
jQuery入门之层次选择器实例简析
2015/12/11 Javascript
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
Node.js 日志处理模块log4js
2016/08/28 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
JavaScript实现购物车基本功能
2017/07/21 Javascript
vue 使用html2canvas将DOM转化为图片的方法
2018/09/11 Javascript
spring+angular实现导出excel的实现代码
2019/02/27 Javascript
0基础学习前端开发的一些建议
2020/07/14 Javascript
js实现弹幕飞机效果
2020/08/27 Javascript
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
python多线程与多进程及其区别详解
2019/08/08 Python
Python zip函数打包元素实例解析
2019/12/11 Python
python with语句的原理与用法详解
2020/03/30 Python
在pycharm中关掉ipython console/PyDev操作
2020/06/09 Python
Python结合Window计划任务监测邮件的示例代码
2020/08/05 Python
Django websocket原理及功能实现代码
2020/11/14 Python
墨西哥运动服饰和鞋网上商店:Netshoes墨西哥
2016/07/28 全球购物
Shein英国:女性时尚网上商店
2019/04/10 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
什么是跨站脚本攻击
2014/12/11 面试题
质量工程师岗位职责
2013/11/16 职场文书
促销活动总结怎么写
2014/06/25 职场文书
工伤事故赔偿协议书范文
2014/09/24 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书