您的位置:首页 > 脚本大全 > > 正文

python如何把字符串转换成数字(python实现字符串加密成纯数字)

更多 时间:2021-11-01 10:41:48 类别:脚本大全 浏览量:2458

python如何把字符串转换成数字

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) 

代码实现:

加密:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • #加密
  • 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)
  • 解密:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • #解密
  • 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')
  • 测试:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • if __name__ == '__main__':
  •  ret=encrypt('id:123,time:7200,key:123456789987654321','1938762450')
  •  print('密文:',ret)
  •  
  •  ret=decrypt(ret,'1938762450')
  •  print('原文:',ret)
  • 运行结果:

    python如何把字符串转换成数字(python实现字符串加密成纯数字)

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。

    原文链接:https://blog.csdn.net/qq_39687901/article/details/80765763

    您可能感兴趣