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
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")
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
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
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()
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']