[Python] 一个python自定义的加密解密函数 →→→→→进入此内容的聊天室

来自 , 2020-09-28, 写在 Python, 查看 199 次.
URL http://www.code666.cn/view/8a4488c1
  1. def encrypt(key, s):
  2.     b = bytearray(str(s).encode("gbk"))
  3.     n = len(b) # 求出 b 的字节数
  4.     c = bytearray(n*2)
  5.     j = 0
  6.     for i in range(0, n):
  7.         b1 = b[i]
  8.         b2 = b1 ^ key # b1 = b2^ key
  9.         c1 = b2 % 16
  10.         c2 = b2 // 16 # b2 = c2*16 + c1
  11.         c1 = c1 + 65
  12.         c2 = c2 + 65 # c1,c2都是0~15之间的数,加上65就变成了A-P 的字符的编码
  13.         c[j] = c1
  14.         c[j+1] = c2
  15.         j = j+2
  16.     return c.decode("gbk")
  17.  
  18. def decrypt(key, s):
  19.     c = bytearray(str(s).encode("gbk"))
  20.     n = len(c) # 计算 b 的字节数
  21.     if n % 2 != 0 :
  22.         return ""
  23.     n = n // 2
  24.     b = bytearray(n)
  25.     j = 0
  26.     for i in range(0, n):
  27.         c1 = c[j]
  28.         c2 = c[j+1]
  29.         j = j+2
  30.         c1 = c1 - 65
  31.         c2 = c2 - 65
  32.         b2 = c2*16 + c1
  33.         b1 = b2^ key
  34.         b[i]= b1
  35.     try:
  36.         return b.decode("gbk")
  37.     except:
  38.         return "failed"
  39.  
  40. key = 15
  41. s1 = encrypt(key, 'hello world')
  42. s2 = decrypt(key, s1)
  43. print s1,'\n',s2  
  44.  
  45. # HGKGDGDGAGPCIHAGNHDGLG
  46. # hello world
  47. #//python/8290

回复 "一个python自定义的加密解密函数"

这儿你可以回复上面这条便签

captcha