|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
小知识:CentOS出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的RedHatEnterpriseLinux使用。
编程中常常会对字符串做加密解密处置,特殊是触及到隐私的字符串,如暗码等的时刻,就须要加密,本身总结了一下,年夜致有三种:base64,win32com.client和本身写加密解密算法,固然最平安的就是本身写加密解密算法了。
- 1.最简略的办法是用base64:importbase64s1=base64.encodestring(helloworld)s2=base64.decodestring(s1)prints1,s2#aGVsbG8gd29ybGQ=
- #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,
- ,s2#HGKGDGDGAGPCIHAGNHDGLG#helloworld注:这是网上抄来的一个简略的例子,人人可以自界说本身算法停止加密解密;还有许很多多庞杂的加密算法,人人可以自行查阅暗码学的相干算法。4.关于python来讲,也能够把python源码文件编译成pyc二进制格局的文件,如许他人就看不到你的源码,也算是一种加密办法吧,办法以下:履行敕令python-mpy_compilecreate_slave.py可以直接生成一个create_slave.pyc文件,然后可以用create_slave.pyc来调换create_slave.py作为剧本来履行。
复制代码
小知识:CentOS在服务器提供商、中小型公司中装机量几乎是最大的Linux发行版。 |
|