Esempio n. 1
0
 def __init__(self,acc,pwd,mac,server,key):
     self._acc=acc
     self._pwd=pwd
     self._mac=mac
     self._server=server
     self._key=key
     self._aes=pyAes.new(key,1)
     self._des=pyDes.triple_des('1234ZHEJIANGXINLIWANGLEI',pyDes.CBC,'12345678')
Esempio n. 2
0
    def encrypt_password(cls, password):
        aes_key = md5(cls.INIT_KEY).digest()
        aes = AES.new(aes_key, AES.MODE_ECB)

        # padding
        l = 16 - len(password) % 16
        ram_data = password + l * chr(l)
        ram_data = ram_data.encode('utf-8')

        return aes.encrypt(ram_data).encode('hex').upper()
Esempio n. 3
0
 def __init__(self,acc,pwd,mac=None,pre='/tmp/'):
     self._server='pppoeh.114school.cn'
     self._acc=acc
     self._pwd=pwd
     self._prefix=pre
     self._aes=pyAes.new('xlzjhrprotocol3x',1)
     self._des=pyDes.triple_des('1234ZHEJIANGXINLIWANGLEI',pyDes.CBC,'12345678')
     if mac:
         self._mac=mac
     else:
         self._mac='08:00:27:00:24:FD'
Esempio n. 4
0
 def __init__(self, acc, pwd, mac=None, pre='/tmp/'):
     self._server = 'pppoeh.114school.cn'
     self._acc = acc
     self._pwd = pwd
     self._prefix = pre
     self._aes = pyAes.new('xlzjhrprotocol3x', 1)
     self._des = pyDes.triple_des('1234ZHEJIANGXINLIWANGLEI', pyDes.CBC,
                                  '12345678')
     if mac:
         self._mac = mac
     else:
         self._mac = '08:00:27:00:24:FD'
Esempio n. 5
0
#!/usr/bin/env python2
#encoding=utf-8
#该脚本请配合定时任务使用 建议的定时任务配置 见sx.conf
#该版本为纯python不依赖二进制编译库
#代码的讲解注释见之前的版本
import pyDes,pyAes,binascii
import time,hashlib,struct,sys,socket,urllib2,json,re
import os.path
des=pyDes.triple_des('1234ZHEJIANGXINLIWANGLEI',pyDes.CBC,'12345678')
aes=pyAes.new('xlzjhrprotocol3x',1)
server='pppoeh.114school.cn'
g_u=''
g_p=''
g_pathprefix='/tmp/' #新增,在win环境下情自行修改
g_router_acc='admin'
g_router_pw='admin'
g_router_url='''http://192.168.1.1/userRpm/PPPoECfgRpm.htm?
wantype=2&VnetPap=201&linktype=1&waittime=&Connect=%%C1%%AC+%%BD%%D3
&acc=%s&psw=%s'''.replace('\n','')
def getPIN():
    global g_u
    us=g_u
    RAD="zjxinlisx01"
    timeHash=[0,0,0,0]
    timedivbyfive=int(time.time())//5
    for i in range(0,4):
        for j in range(0,8):
            timeHash[i]=timeHash[i]+(((timedivbyfive>>(i+4*j))&1)<<(7-j))
    m=hashlib.md5()
    bm=struct.pack('>I',timedivbyfive)+(us.split('@')[0]+RAD).encode('ascii')
    m.update(bm)