一个python自定义的加密解密函数详解编程语言

一个python自定义的加密解密函数,下面的代码实现了对字符串的加密盒解密,调用简单

def encrypt(key, s): 
    b = bytearray(str(s).encode("gbk")) 
    n = len(b) # 求出 b 的字节数 
    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之间的数,加上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 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/8043.html

(0)
上一篇 2021年7月18日
下一篇 2021年7月18日

相关推荐

发表回复

登录后才能评论