示例#1
0
def webProcCred(tbl,act,val):

    if isinstance(val[0], str) and val[0].isdigit(): sid = int(val[0])
        
    elif isinstance(val[0], int)                   : sid = val[0]
       
    else: return mm.INV_ID_DTYPE 

    sn = _getName(tbl,sid)
    if len(sn) < 2 : return mm.SNAME_NOT_FOUND

    if act == 'del'  : bindVar = ('ID','UNAME')
    else             :
        puc = val[2]  
        if mg.XOR == 1:
            p = encrypt(val[2] , string.capitalize(sn)); val[2] = p
        mg.logger.info( "SN = ", sn, "Encrypting ", val[2] , " val = ", val)
        bindVar = ('ID','UNAME','PWD','DESCR')
        
    ds = dict(zip( bindVar,val))
    rc = eval('_%sDBCred(tbl,ds)' % act )
    if rc == 1: 
        val[0] = sid
        if act != 'del' : val[2] = puc
        r=eval('_%sMemCred(tbl,val)' % act)        # Don't care on result for now.
        mg.logger.debug( " _%sMemCred " , act , " tbl = " , tbl, "vals = ", val )
        mg.logger.info( " _%sMemCred rc = %s " % (act, r))   
    return rc
示例#2
0
def logic(data):
    dec_data = decrypt(data)
    data = json.loads(dec_data)
    if "cmd" in data:
        send_data = get_iphostname()
        cmd = data['cmd']
        timeout =  data.get("timeout", def_timeout)
        command = Command(cmd)
        recode, output, error = command.run(int(timeout))
        if not recode:
            print recode
            # 如国命令执行成功
            send_data['result'] = output
        else:
            print recode
            # 如国命令执行失败
            send_data['result'] = error
        send_data['cmd'] = cmd
        enc_data = json.dumps(send_data)
        return encrypt(enc_data)
    else:
        return encrypt("input error")
示例#3
0
def logic(data):
    dec_data = decrypt(data)
    data = json.loads(dec_data)
    if "cmd" in data:
        send_data = get_iphostname()
        cmd = data['cmd']
        timeout = data.get("timeout", def_timeout)
        command = Command(cmd)
        recode, output, error = command.run(int(timeout))
        if not recode:
            print recode
            # 如国命令执行成功
            send_data['result'] = output
        else:
            print recode
            # 如国命令执行失败
            send_data['result'] = error
        send_data['cmd'] = cmd
        enc_data = json.dumps(send_data)
        return encrypt(enc_data)
    else:
        return encrypt("input error")
示例#4
0
文件: auth.py 项目: aboliaa/SMSApp
def check_auth(username, password):
    """This function is called to check if a username /
    password combination is valid.
    It fetches username and password-hash from SQLite DB and
    compares them with input values.
    """
    db = SqlDB()
    user = db.get_user_by_username(username)
    if not user or len(user) < 4:
        return False
    passwd = user[3]
    if encrypt(password) != passwd:
        return False
    return True
示例#5
0
def loadBulkCred(rs,lt,uflg):
    rej = []
    if rs is not None and  len(rs) > 0:
        tbl   = tbl_load[lt][1]       
        cred  = tbl_load[lt][0]()     #cred = _getServID()
        mg.logger.info( "lt = %s table %s uflg = %s " % (lt,tbl,uflg))
        
        for r in rs:
            sn = string.capitalize(r[0].strip(' \t\n\r'))
            if cred.has_key(sn):
                r[0] = cred.get(sn)                    # Need the server ID.
                u = r[1].strip(' \t\n\r');  r[1] = u
                p = r[2].strip(' \t\n\r');  r[2] = p
                if mg.XOR == 1:
                    e = encrypt(r[2],sn); r[2] = e  
                
                b =  ('ID','UNAME','PWD','DESCR')
                d = dict(zip(b,r))
                print "running 'db.insCred(%s,d) .. " % tbl
                rc = _insDBCred(tbl,d)
                #print "RC INSCRED = ", rc
                # Try to Insert else Update
                if (rc == mm.DB_GRAL_ERR or rc == mm.DB_CONSTR_ERR) and uflg == True:   # Row exists in DB, therefore try to UPDATE
                    mg.logger.info( "Row for %s %s user %s exist." %  (tbl,r[0],r[1] ))
                    rc = _updDBCred(tbl,d)
                    mg.logger.info( "Updated Row for sn %s user %s" % (sn,r[1] ))  
                    if rc != 1 :
                        mg.logger.info( "UPD failed rc = %s %s %s user %s exist." % (rc,tbl,r[0],r[1] ))
                
                elif rc == 1 :
                    mg.logger.info( "Inserted Row for sn %s user %s" % (sn,r[1] ))    
                else:
                    mg.logger.error( "Error rc = %s  %s %s user %s exist." % (rc,tbl,r[0],r[1] )) 
                    rej.append(r)   
                print "db rc = ", rc
#            p    = encrypt(r[2])
#            r[2] = p
            else:
                mg.logger.error("%s %s is not defined. Please define" % (tbl,sn))
            print r
           
    else:
        mg.logger.error("Nothing to load. No data or invalid format on file")

    return rej
示例#6
0
def populate_db():
    db_conn = SqlDB()

    db_conn.cursor.execute('''
        CREATE TABLE users(
        id INTEGER PRIMARY KEY, 
        name TEXT,
        username TEXT,
        password TEXT)'''
    )

    name = 'Test User'
    username = '******'
    password = encrypt('secret')
    db_conn.cursor.execute(
        '''INSERT INTO users(name, username, password) VALUES(?,?,?)''',
        (name, username, password)
    )

    db_conn.commit()
示例#7
0
workdir = os.path.dirname(os.path.realpath(__file__))
sys.path.insert(0, workdir + "/../")

from utils.crypt import encrypt,decrypt
# 三个参数,一个是处理内容,一个是发送次数,三十超时时间

HOST = '127.0.0.1'
PORT = 9200
CNT = int(sys.argv[2])

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))

data = {}
data['cmd'] = sys.argv[1]
data['timeout'] = sys.argv[3]

data = json.dumps(data)
enc_data = encrypt(data)
send_data = "%010d%s"%(len(enc_data), enc_data)

for i in xrange(CNT):
    s.send(send_data)

for i in xrange(CNT):
    but_int = s.recv(10)
    data_size=int(but_int)
    buf = decrypt(s.recv(data_size))
    ret = json.loads(buf)
    print ret['result']