仓酷云

标题: 来一发Python字符串加密解密办法总结 [打印本页]

作者: 若相依    时间: 2015-1-14 21:05
标题: 来一发Python字符串加密解密办法总结
小知识:CentOS出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的RedHatEnterpriseLinux使用。
编程中常常会对字符串做加密解密处置,特殊是触及到隐私的字符串,如暗码等的时刻,就须要加密,本身总结了一下,年夜致有三种:base64,win32com.client和本身写加密解密算法,固然最平安的就是本身写加密解密算法了。
  1. 1.最简略的办法是用base64:importbase64s1=base64.encodestring(helloworld)s2=base64.decodestring(s1)prints1,s2#aGVsbG8gd29ybGQ=
  2. #helloworld注:这是最简略的办法了,然则不敷保险,由于假如他人拿到你的密文,也能够本身解密来获得明文;不外可以把密文字符串停止处置,如字母转换成数字或是特别字符等,本身解密的时刻在调换归去在停止base64.decodestring,如许要平安许多。2.第二种办法是应用win32com.clientimportwin32com.clientdefencrypt(key,content):#key:密钥,content:明文EncryptedData=win32com.client.Dispatch(CAPICOM.EncryptedData)EncryptedData.Algorithm.KeyLength=5EncryptedData.Algorithm.Name=2EncryptedData.SetSecret(key)EncryptedData.Content=contentreturnEncryptedData.Encrypt()defdecrypt(key,content):#key:密钥,content:密文EncryptedData=win32com.client.Dispatch(CAPICOM.EncryptedData)EncryptedData.Algorithm.KeyLength=5EncryptedData.Algorithm.Name=2EncryptedData.SetSecret(key)EncryptedData.Decrypt(content)str=EncryptedData.Contentreturnstrs1=encrypt(lovebread,helloworld)s2=decrypt(lovebread,s1)prints1,s2#MGEGCSsGAQQBgjdYA6BUMFIGCisGAQQBgjdYAwGgRDBCAgMCAAECAmYBAgFABAgq#GpllWj9cswQQh/fnBUZ6ijwKDTH9DLZmBgQYmfaZ3VFyS/lq391oDtjlcRFGnXpx#lG7o#helloworld注:这类办法也很便利,并且可以设置本身的密钥,比第一种办法加倍平安,假如对平安级别请求不太高的话这类办法是加密解密的首选之策!3.还有就是本身写加密解密算法,好比:defencrypt(key,s):b=bytearray(str(s).encode("gbk"))n=len(b)#求出b的字节数c=bytearray(n*2)j=0foriinrange(0,n):b1=b[i]b2=b1^key#b1=b2^keyc1=b2%16c2=b2//16#b2=c2*16+c1c1=c1+65c2=c2+65#c1,c2都是0~15之间的数,加上65就酿成了A-P的字符的编码c[j]=c1c[j+1]=c2j=j+2returnc.decode("gbk")defdecrypt(key,s):c=bytearray(str(s).encode("gbk"))n=len(c)#盘算b的字节数ifn%2!=0:return""n=n//2b=bytearray(n)j=0foriinrange(0,n):c1=c[j]c2=c[j+1]j=j+2c1=c1-65c2=c2-65b2=c2*16+c1b1=b2^keyb[i]=b1try:returnb.decode("gbk")except:return"failed"key=15s1=encrypt(key,helloworld)s2=decrypt(key,s1)prints1,
  3. ,s2#HGKGDGDGAGPCIHAGNHDGLG#helloworld注:这是网上抄来的一个简略的例子,人人可以自界说本身算法停止加密解密;还有许很多多庞杂的加密算法,人人可以自行查阅暗码学的相干算法。4.关于python来讲,也能够把python源码文件编译成pyc二进制格局的文件,如许他人就看不到你的源码,也算是一种加密办法吧,办法以下:履行敕令python-mpy_compilecreate_slave.py可以直接生成一个create_slave.pyc文件,然后可以用create_slave.pyc来调换create_slave.py作为剧本来履行。
复制代码

小知识:CentOS在服务器提供商、中小型公司中装机量几乎是最大的Linux发行版。
作者: 透明    时间: 2015-1-16 23:43
标题: 来一发Python字符串加密解密办法总结
掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一般都能被支持,作为一名Linux系统管理员建议多阅读有关硬件配置文章,对各种不支持或支持不太好的硬件有深刻的了解。
作者: 因胸联盟    时间: 2015-1-24 14:43
感谢老师和同学们在学习上对我的帮助。
作者: 只想知道    时间: 2015-2-1 18:14
其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。
作者: 简单生活    时间: 2015-2-7 14:43
学习Linux应具备的。[书籍+网络资源]
作者: 爱飞    时间: 2015-2-22 20:08
把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
作者: 海妖    时间: 2015-3-7 05:28
在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。
作者: 谁可相欹    时间: 2015-3-14 15:13
Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。
作者: 蒙在股里    时间: 2015-3-21 12:50
一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2