저는 sqlite를 매우 새로 도입했습니다. 사용자 이름과 암호가 인수로 전달되고 암호가 테이블 이름의 해당 사용자 이름에 이미 CREDENTIALS로 저장되어 있습니다. 암호가 맞는지 확인하는 방법은 무엇입니까? 덕분에 내가 제대로 귀하의 요구 사항을 이해한다면C++에서 sqlite의 유효한 암호를 사용자 인증합니다.
bool authenticateUser(string USER, string PASS)
{
sqlite3_stmt *pSelectStatement = NULL;
int iResult = SQLITE_ERROR;
bool ret = true;
insertQuery<<"SELECT * FROM CREDENTIALS WHERE USERID LIKE '"<<USER<<"' AND PASSWORD LIKE '"<<PASS<<"';";
iResult = sqlite3_prepare16_v2(db, insertQuery.str().c_str(), -1, &pSelectStatement, 0);
if ((iResult == SQLITE_OK) && (pSelectStatement != NULL))
{
iResult = sqlite3_step(pSelectStatement);
//was found?
if (iResult == SQLITE_DONE) {
ret = false;
sqlite3_clear_bindings(pSelectStatement);
sqlite3_reset(pSelectStatement);
}
iResult = sqlite3_finalize(pSelectStatement);
}
return ret;
}
어떤 종류가'USERID' 열입니까? 그리고 아마도 데이터베이스에있는 암호를 저장하고 싶지 않을 것입니다. 읽기 http://stackoverflow.com/questions/1054022/best-way-to-store-password-in-database – Valentin