一個python自定義的加密解密函數

pythopen 9年前發布 | 4K 次閱讀 Python

一個python自定義的加密解密函數,下面的代碼實現了對字符串的加密盒解密,調用簡單

def encrypt(key, s):
    b = bytearray(str(s).encode("gbk"))
    n = len(b) # 求出 b 的字節數
    c = bytearray(n2)
    j = 0
    for i in range(0, n):
        b1 = b[i]
        b2 = b1 ^ key # b1 = b2^ key
        c1 = b2 % 16
        c2 = b2 // 16 # b2 = c216 + c1
        c1 = c1 + 65
        c2 = c2 + 65 # c1,c2都是0~15之間的數,加上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 的字節數 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"

key = 15 s1 = encrypt(key, 'hello world') s2 = decrypt(key, s1) print s1,'\n',s2

HGKGDGDGAGPCIHAGNHDGLG

hello world </pre>


 本文由用戶 pythopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!