仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 488|回复: 8
打印 上一主题 下一主题

[CentOS(社区)] 来一发Python字符串加密解密办法总结

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:05:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
小知识: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:58 | 只看该作者

来一发Python字符串加密解密办法总结

掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一般都能被支持,作为一名Linux系统管理员建议多阅读有关硬件配置文章,对各种不支持或支持不太好的硬件有深刻的了解。
因胸联盟 该用户已被删除
板凳
发表于 2015-1-24 14:43:22 | 只看该作者
感谢老师和同学们在学习上对我的帮助。
只想知道 该用户已被删除
地板
发表于 2015-2-1 18:14:50 | 只看该作者
其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。
简单生活 该用户已被删除
5#
发表于 2015-2-7 14:43:47 | 只看该作者
学习Linux应具备的。[书籍+网络资源]
爱飞 该用户已被删除
6#
发表于 2015-2-22 20:08:01 | 只看该作者
把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
海妖 该用户已被删除
7#
发表于 2015-3-7 05:28:56 | 只看该作者
在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。
谁可相欹 该用户已被删除
8#
发表于 2015-3-14 15:13:10 | 只看该作者
Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。
蒙在股里 该用户已被删除
9#
发表于 2015-3-21 12:50:42 | 只看该作者
一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 01:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表