⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 database.pc

📁 采用非对称密钥加密方式的应用系统认证系统
💻 PC
字号:
EXEC SQL include "g_chrvar.h";
EXEC SQL WHENEVER NOTFOUND CONTINUE;
EXEC SQL WHENEVER SQLERROR CONTINUE;
EXEC SQL INCLUDE SQLCA;

int ConnectToDatabase(char *Username, char *Password)
{
  EXEC SQL WHENEVER SQLERROR goto sqlerror;
  EXEC SQL CONNECT :Username IDENTIFIED BY :Password;
  EXEC SQL WHENEVER SQLERROR CONTINUE;	
  if (sqlca.sqlcode!=0) {
      return(-1);
      }
  return(0);  
sqlerror:
  EXEC SQL ROLLBACK RELEASE;
  return(-2);    
}

/*Operator:工号
 *Password:口令
 * ReturnValue: 0: 工号/口令正确
 *             -1:口令不正确
 *             -2:工号不存在 
 *             -3:数据库错误     */
int CheckOperator(char *Operator, char *Password, char *depart, char *areacode, char *GsmUsername, char *GsmPassword, char *CdrUsername, char *CdrPassword)
{
  Char_7    foperator;
  Char_101  fpassword;
  Char_8    fdepart;
  Char_2    fareacode;
  char fpasswordtext[26];

  strcpy(foperator, Operator);
  EXEC SQL SELECT PASSWD,DEPART,AREACODE
             INTO :fpassword,:fdepart,:fareacode
             FROM SYS_OPERATOR
            WHERE OPERATOR=:foperator;
  if (sqlca.sqlcode<0) {
      return(-3);
  }
  else if (sqlca.sqlcode==1403 || sqlca.sqlcode==100) {
           return(-2);
       }
  decodekey(fpassword, fpasswordtext);
  if (strcmp(fpasswordtext,Password)!=0) { /*口令不正确*/
      return(-1);
      }
  strcpy(depart, fdepart);    
  strcpy(areacode, fareacode);    
  EXEC SQL SELECT SYS_PASSWORD
             INTO :fpassword
             FROM SYSUSER
            WHERE SYS_USERNAME='newgsm';
  strcpy(GsmUsername, "newgsm");          
  decodekey(fpassword, GsmPassword);            

  EXEC SQL SELECT SYS_PASSWORD
             INTO :fpassword
             FROM SYSUSER
            WHERE SYS_USERNAME='newcdr';
  strcpy(GsmUsername, "newcdr");          
  decodekey(fpassword, CdrPassword);            
  return(0);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -