[utils] Add generic caesar cipher and rot47
This commit is contained in:
parent
6ddd4bf6ac
commit
1ced222120
2 changed files with 29 additions and 0 deletions
|
@ -5383,6 +5383,19 @@ def decode_packed_codes(code):
|
|||
obfucasted_code)
|
||||
|
||||
|
||||
def caesar(s, alphabet, shift):
|
||||
if shift == 0:
|
||||
return s
|
||||
l = len(alphabet)
|
||||
return ''.join(
|
||||
alphabet[(alphabet.index(c) + shift) % l] if c in alphabet else c
|
||||
for c in s)
|
||||
|
||||
|
||||
def rot47(s):
|
||||
return caesar(s, r'''!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~''', 47)
|
||||
|
||||
|
||||
def parse_m3u8_attributes(attrib):
|
||||
info = {}
|
||||
for (key, val) in re.findall(r'(?P<key>[A-Z0-9-]+)=(?P<val>"[^"]+"|[^",]+)(?:,|$)', attrib):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue