python实现字符串加密成纯数字

 更新时间:2019年03月19日 16:51:54   作者:狡猾的皮球  
这篇文章主要为大家详细介绍了python实现字符串加密成纯数字,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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将文字转成语音并读出来的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python实现图像的二进制与base64互转

    Python实现图像的二进制与base64互转

    这篇文章主要为大家介绍了如何在Python中使用OpenCV从而实现图像转base64编码、图像转二进制编码、二进制转图像等功能,感兴趣的可以跟上小编一起学习一下
    2022-03-03
  • Python调用百度AI实现人像分割详解

    Python调用百度AI实现人像分割详解

    本文主要介绍了如何通过Python调用百度AI从而实现人像的分割与合成,文中的示例代码对我们的工作或学习有一定的帮助,需要的朋友可以参考一下
    2021-12-12
  • Python经验总结:两种Type Error问题

    Python经验总结:两种Type Error问题

    这篇文章主要介绍了Python经验总结:两种Type Error问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python中时间datetime的处理与转换用法总结

    Python中时间datetime的处理与转换用法总结

    今天小编就为大家分享一篇关于Python中时间datetime的处理与转换用法总结,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Python利用matplotlib绘制约数个数统计图示例

    Python利用matplotlib绘制约数个数统计图示例

    这篇文章主要介绍了Python利用matplotlib绘制约数个数统计图,结合实例形式详细分析了Python使用matplotlib进行统计图绘制的相关操作技巧,需要的朋友可以参考下
    2019-11-11
  • opencv3/C++ 平面对象识别&透视变换方式

    opencv3/C++ 平面对象识别&透视变换方式

    今天小编就为大家分享一篇opencv3/C++ 平面对象识别&透视变换方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 一文带你深入了解Python中的数据清洗

    一文带你深入了解Python中的数据清洗

    数据清洗一般包括:空值,异常值,重复值,类型转换和数据整合这些操作,这篇文章将通过一些示例为大家详细讲讲Python中数据清洗的操作的实现,需要的可以参考一下
    2023-03-03
  • 带你精通Python正则表达式

    带你精通Python正则表达式

    本文将给大家分享一份关于比较详细的Python正则表达式宝典,学会之后你将对正则表达式达到精通的状态,一起来学习下面内容吧
    2021-08-08
  • Python try-except-else-finally的具体使用

    Python try-except-else-finally的具体使用

    本文主要介绍了Python try-except-else-finally的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08

最新评论