本文实例为大家分享了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 -),
<强>代码实现:强>
#加密 def加密(srcStr、密码=' 1938762450 '): #将字符串转换成字节数组 data=https://www.yisu.com/zixun/bytearray (srcStr.encode (utf - 8)) #把每个字节转换成数字字符串 strList=(str(字节)字节的数据) #给每个数字字符串前面加一个长度位 strList=[str (len (s))的s + s strList] #进行数字替换 index0的范围(len (strList)): tempStr=" " 指数范围(len (strList [index0])): tempStr +=密码[int (strList [index0](指数))) strList [index0]=tempStr 返回" . join (strList)
解密:
#解密 def解密(srcStr、密码=' 1938762450 '): #数字替换还原 tempStr=" " 指数的范围(len (srcStr)): tempStr +=str (password.find (srcStr(指数))) #去掉长度位,还原成字典 指数=0 strList=[] 而真正的: #取长度位 长度=int (tempStr(指数)) #取数字字符串 s=tempStr[索引+ 1:索引+ 1 +长度) #加入到列表中 strList.append (s) #增加偏移量 指数+=1 +长度 #退出条件 如果index>=len (tempStr): 打破 data=https://www.yisu.com/zixun/bytearray (len (strList)) 因为我在范围(len(数据)): 数据[我]=int (strList[我]) 以前返回data.decode (utf - 8) >测试:
if __name__==癬_main__”: ret=加密(' id: 123时间:7200年,关键:123456789987654321 ',' 1938762450 ') 打印(“密文:“受潮湿腐烂) ret=解密(ret, ' 1938762450 ') 打印(“原文:“,随著运行结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
python实现字符串加密成纯数字