#include <stdio.h>
#include <string.h>
#include <stdlib.h>
EXEC SQL INCLUDE SQLCA;
int validate(char*,char*,char*);
void log(int,char*);
int main(int argc,char* argv[])
{
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR usr[20],passwd[20],db_name[20];
char pwd[32],salt[32],user_name[20];
EXEC SQL END DECLARE SECTION;
char *logmsg = "user ";
strcpy(usr.arr,"admin");
usr.len=(unsigned short)strlen((char *)usr.arr);
strcpy(passwd.arr,"admin");
passwd.len=(unsigned short)strlen((char *)passwd.arr);
strcpy(db_name.arr,"pms_db");
db_name.len=(unsigned short)strlen((char *)db_name.arr);
EXEC SQL CONNECT :usr IDENTIFIED BY :passwd USING :db_name;
strcpy(user_name,argv[0]);
fprintf(stdout,"Connect!\n");
EXEC SQL SELECT pwd,salt into :pwd, :salt from t_usr where user_name=:user_name;
EXEC SQL COMMIT WORK RELEASE;
if(!validate(pwd,argv[1],salt)){
strcat(logmsg,argv[0]);
strcat(logmsg,"login");
log(logmsg);
return 1;
}else{
return 0;
}
}
SQL
#include <string.h>
#include <stdlib.h>
EXEC SQL INCLUDE SQLCA;
int validate(char*,char*,char*);
void log(int,char*);
int main(int argc,char* argv[])
{
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR usr[20],passwd[20],db_name[20];
char pwd[32],salt[32],user_name[20];
EXEC SQL END DECLARE SECTION;
char *logmsg = "user ";
strcpy(usr.arr,"admin");
usr.len=(unsigned short)strlen((char *)usr.arr);
strcpy(passwd.arr,"admin");
passwd.len=(unsigned short)strlen((char *)passwd.arr);
strcpy(db_name.arr,"pms_db");
db_name.len=(unsigned short)strlen((char *)db_name.arr);
EXEC SQL CONNECT :usr IDENTIFIED BY :passwd USING :db_name;
strcpy(user_name,argv[0]);
fprintf(stdout,"Connect!\n");
EXEC SQL SELECT pwd,salt into :pwd, :salt from t_usr where user_name=:user_name;
EXEC SQL COMMIT WORK RELEASE;
if(!validate(pwd,argv[1],salt)){
strcat(logmsg,argv[0]);
strcat(logmsg,"login");
log(logmsg);
return 1;
}else{
return 0;
}
}
SQL
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货