Vous ne pouvez pas sélectionner plus de 25 sujets
Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
112 lignes
3.3 KiB
112 lignes
3.3 KiB
# -*- coding: utf-8 -*-
|
|
class ModifiedBase64(object):
|
|
|
|
def __init__(self):
|
|
self.aae = ['K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
|
|
'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
|
|
'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
|
|
'8', '9', '+', '/']
|
|
self.aaf = [None] * 128
|
|
|
|
# renamed from: pf
|
|
# def m23208pf(self):
|
|
i = 0
|
|
i2 = 0
|
|
while True:
|
|
bArr = self.aaf
|
|
if i2 <= len(bArr) - 1:
|
|
bArr[i2] = -1
|
|
i2 += 1
|
|
else:
|
|
break
|
|
while True:
|
|
cArr = self.aae
|
|
if i <= len(cArr) - 1:
|
|
self.aaf[ord(cArr[i])] = int(i)
|
|
i += 1
|
|
else:
|
|
return
|
|
|
|
def m23207r(self, str_):
|
|
result = ''
|
|
bArr = bytearray(str_.encode('utf-8'))
|
|
|
|
i = 0
|
|
while i <= len(bArr) - 1:
|
|
bArr2 = [None] * 4
|
|
b = 0
|
|
i2 = 0
|
|
while i2 <= 2:
|
|
i3 = i + i2
|
|
if i3 <= len(bArr) - 1:
|
|
bArr2[i2] = (b | ((bArr[i3] & 255) >> ((i2 * 2) + 2)))
|
|
b = ((((bArr[i3] & 255) << (((2 - i2) * 2) + 2)) & 255) >> 2)
|
|
else:
|
|
bArr2[i2] = b
|
|
b = 0x40 # SignedBytes.MAX_POWER_OF_TWO;
|
|
i2 += 1
|
|
bArr2[3] = b
|
|
|
|
i4 = 0
|
|
while i4 <= 3:
|
|
if bArr2[i4] <= 63:
|
|
result = result + self.aae[bArr2[i4]]
|
|
else:
|
|
result = result + '='
|
|
i4 += 1
|
|
i += 3
|
|
|
|
return result
|
|
|
|
# renamed from: eC
|
|
def m23209eC(self, str_):
|
|
""" generated source for method m23209eC """
|
|
bys = []
|
|
# bytes = str_.encode('utf-8')
|
|
bytes = bytearray(str_.encode('utf-8'))
|
|
# print(bytes)
|
|
bArr = [None] * len(bytes)
|
|
i = 0
|
|
while i <= len(bytes) - 1:
|
|
bArr[i] = self.aaf[bytes[i]]
|
|
i += 1
|
|
i2 = 0
|
|
while i2 <= len(bArr) - 1:
|
|
bArr2 = [None] * 3
|
|
i3 = 0
|
|
i4 = 0
|
|
i7 = 0
|
|
while i4 <= 2:
|
|
i5 = i2 + i4
|
|
i6 = i5 + 1
|
|
if i6 <= len(bArr) and bArr[i6] >= 0:
|
|
bArr2[i4] = ((bArr[i5] & 255) << ((i4 * 2) + 2)) | ((bArr[i6] & 255) >> (((2 - (i4 + 1)) * 2) + 2))
|
|
i3 += 1
|
|
i4 += 1
|
|
while i7 <= i3 - 1:
|
|
bys.append(self.py2ja(bArr2[i7]))
|
|
i7 += 1
|
|
i2 += 4
|
|
return bytearray(bys).decode('utf-8')
|
|
|
|
def py2ja(self, arr: int):
|
|
"""
|
|
python字节数组转java字节数组
|
|
:return:
|
|
"""
|
|
while arr >= 256:
|
|
arr = arr - 256
|
|
return arr
|
|
|
|
|
|
if __name__ == '__main__':
|
|
# UUID = "ENYnDJO5CNGnCJC5DzcyBWHtEJK4ENcyDJu3EG=="
|
|
v = ModifiedBase64()
|
|
# a = v.m23209eC(UUID)
|
|
# print(a)
|
|
|
|
text = '5ZIG5Ya26AQX6YQJ5YsY6SML5bsS'
|
|
print(v.m23209eC(text))
|
|
|
|
text = '唐冶街道刘老师'
|
|
print(v.m23207r(text))
|
|
|