香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

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


时间:2022-04-02 10:24 作者:admin


本文实例为大家分享了python/' target='_blank'>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)

运行结果:

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

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)