有些時候我們不得不在自己的代碼里寫上密碼,為了安全起見,我們可以為自己的密碼加密
先上段代碼,這個代碼是轉自網上
root@ProFtp:/usr/lib/python2.7# more jastmencrypt.py
"""
jastme encrypt password
"""
def encrypt(key, s):
b = bytearray(str(s).encode("gbk"))
n = len(b) # 求出 b 的字節(jié)數(shù)
c = bytearray(n*2)
j = 0
for i in range(0, n):
b1 = b[i]
b2 = b1 ^ key # b1 = b2^ key
c1 = b2 % 16
c2 = b2 // 16 # b2 = c2*16 + c1
c1 = c1 + 65
c2 = c2 + 65 # c1,c2都是0~15之間的數(shù),加上65就變成了A-P 的字符的編碼
c[j] = c1
c[j+1] = c2
j = j+2
return c.decode("gbk")
def decrypt(key, s):
c = bytearray(str(s).encode("gbk"))
n = len(c) # 計算 b 的字節(jié)數(shù)
if n % 2 != 0 :
return ""
n = n // 2
b = bytearray(n)
j = 0
for i in range(0, n):
c1 = c[j]
c2 = c[j+1]
j = j+2
c1 = c1 - 65
c2 = c2 - 65
b2 = c2*16 + c1
b1 = b2^ key
b[i]= b1
try:
return b.decode("gbk")
except:
return "failed"
以UTF8的編碼保存這個代碼到/usr/lib/python2.7
In [1]: import jastmencrypt
In [3]: jastmencrypt.encrypt(119,'mypassword') 加密
Out[3]: u'KBOAHAGBEAEAAAIBFADB'
In [4]: jastmencrypt.decrypt(119,'KBOAHAGBEAEAAAIBFADB') 解密
Out[4]: u'mypassword'
我們在ipython中先加密好密碼,然后拿到代碼里,要使用的時候解密一下即可,這樣可以很大程度上保證我們的密碼安全。
以上就是本文給大家分享的全部內容了,希望對大家學習Python代碼能夠有所幫助。
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

