|
@@ -1,17 +1,3 @@
|
|
|
-#!/usr/bin/env python3
|
|
|
-# -*- coding: utf-8 -*-
|
|
|
-"""
|
|
|
-@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
|
|
|
-@AUTHOR: ASJRD018
|
|
|
-@NAME: AnsjerFormal
|
|
|
-@software: PyCharm
|
|
|
-@DATE: 2019/6/1 17:25
|
|
|
-@Version: python3.6
|
|
|
-@MODIFY DECORD:ansjer dev
|
|
|
-@file: ETkObject.py
|
|
|
-@Contact: chanjunkai@163.com
|
|
|
-"""
|
|
|
-
|
|
|
import base64
|
|
|
import urllib.parse
|
|
|
from random import Random
|
|
@@ -20,52 +6,36 @@ from random import Random
|
|
|
class ETkObject(object):
|
|
|
def __init__(self, etk):
|
|
|
self.uid = ''
|
|
|
- self.parseUid(etk)
|
|
|
+ self.decrypt_uid(etk)
|
|
|
|
|
|
- def parseUid(self, etk):
|
|
|
+ def decrypt_uid(self, etk):
|
|
|
try:
|
|
|
c = base64.b64decode(etk)
|
|
|
c = c[2:-2]
|
|
|
c = urllib.parse.unquote(c.decode('utf-8'))
|
|
|
c = base64.b64decode(c)
|
|
|
uid = c.decode('utf-8')
|
|
|
- if len(uid) == 20:
|
|
|
- self.uid = uid
|
|
|
- print(uid)
|
|
|
- elif len(uid) == 14:
|
|
|
- self.uid = uid
|
|
|
- print(uid)
|
|
|
+ assert len(uid) == 20 or len(uid) == 14
|
|
|
+ self.uid = uid
|
|
|
except Exception as e:
|
|
|
print(repr(e))
|
|
|
|
|
|
- def encrypt(self,data):
|
|
|
+ def encrypt_uid(self, data):
|
|
|
s = data.encode()
|
|
|
s = base64.b64encode(s)
|
|
|
- startStr = self.randomParam()
|
|
|
- endStr = self.randomParam()
|
|
|
- s = '{startStr}{s}{endStr}'.format(startStr=startStr,s=s.decode('utf-8'),endStr=endStr)
|
|
|
+ startStr = self.generate_random()
|
|
|
+ endStr = self.generate_random()
|
|
|
+ s = '{startStr}{s}{endStr}'.format(startStr=startStr, s=s.decode('utf-8'), endStr=endStr)
|
|
|
s = base64.b64encode(s.encode())
|
|
|
- s=s.decode('utf-8')
|
|
|
+ s = s.decode('utf-8')
|
|
|
return s
|
|
|
|
|
|
- def randomParam(self):
|
|
|
- characterSet = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsT' \
|
|
|
- 'tUuVvWwXxYyZz0123456789'
|
|
|
+ @staticmethod
|
|
|
+ def generate_random():
|
|
|
+ characterSet = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789'
|
|
|
length = len(characterSet) - 1
|
|
|
-
|
|
|
random = Random()
|
|
|
ss = ''
|
|
|
for index in range(2):
|
|
|
ss += characterSet[random.randint(0, length)]
|
|
|
return ss
|
|
|
-
|
|
|
-
|
|
|
-# etkObj = ETkObject(etk='')
|
|
|
-# PP = etkObj.encrypt('HLK7EJ2VYLNHHUMG111A')
|
|
|
-# print('encode_data:')
|
|
|
-# print(PP)
|
|
|
-# print('decode_data:')
|
|
|
-# eobj = ETkObject(etk='T1dha3hDUkZOVk9UVTBOMDVVVWxOTlJqRXhNVUU9U2w=')
|
|
|
-# uid = eobj.uid
|
|
|
-# print(uid)
|
|
|
-
|