iphone - 登录注册密码并在 iPhone 中确认密码验证和验证

标签 iphone ios5 sqlite

我是 iPhone 编程新手。我正在开发一个应用程序。我的要求是

在我的第一个 View 中,我将输入密码并确认密码插入到 sqlite 中。然后将执行验证。之后,如果密码匹配,则将推送下一个 View 。我需要将确认密码保存在 sqlite 中以供下次验证。

如果我在验证后关闭我的应用程序,那么我是否将再次构建并运行我的应用程序。现在不应打开密码验证窗口。

只有一个 View 会简单地询问密码,如果当前密码等于终止应用程序之前的密码,则将打开应用程序的成功 View 。现在,这里的验证应该与当前密码和确认密码值进行比较[即旧密码,在终止我的应用程序之前存储]。

可以这样做吗? 请帮助我

谢谢。

我做了这么多

-(void)insertDatapsw:(NSString *)password:(NSString *)confirmpsw

{

    //[self createEditableCopyOfDatabaseIfNeeded];

    sqlite3_stmt *insertStatement = nil;

    NSString *sql;

    int returnvalue;



    sql = [NSString stringWithFormat:@"insert into LogInPsw(ConfirmPsw) values (?)"];



    returnvalue = sqlite3_prepare_v2(database, [sql UTF8String], -1, &insertStatement, NULL);



    if (returnvalue == SQLITE_DONE)

    {

        NSAssert1 (0,@"Error: failed to prepare statement with message '%s'.", sqlite3_errmsg(database));

    }



     //sqlite3_bind_text(insertStatement, 1,[strPasswd UTF8String], -1, SQLITE_TRANSIENT);



     sqlite3_bind_text(insertStatement, 1,[strConfirmPsw UTF8String], -1, SQLITE_TRANSIENT);



       if (SQLITE_DONE!= sqlite3_step(insertStatement))

    {

        NSAssert1(0, @"Error while inserting data. '%s'", sqlite3_errmsg(database));



    }

    else

        sqlite3_reset(insertStatement);



    sqlite3_finalize(insertStatement);



}

最佳答案

如果我理解正确的话,您希望在正确输入密码后保存密码,以供以后使用。

首先,我不会使用sqlite来保存密码。标准方法是使用钥匙串(keychain)。看看这个Keychain example 。您可以使用 many wrappers 之一让生活更轻松。

更简单但更不安全的方法是使用 NSUserDefaults ,我强烈建议您不要这么做。

有了密码和保存的密码,您所要做的就是进行比较。

额外提示:将密码保存在数据库中时,请勿将密码保存为纯文本。保存密码的哈希值(您可以使用类似 SHA2 ),然后,当用户输入密码时,您可以将密码哈希值与保存的密码哈希值进行比较。

关于iphone - 登录注册密码并在 iPhone 中确认密码验证和验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11951637/

相关文章:

ios - 从 xib 调用 viewController

iphone - ARC 还是不 ARC?有什么优点和缺点?

ios - 分发 iOS 5 应用程序

java - 如何使用游标?

iphone - iphone 可以多快的 fps 截取屏幕截图?

iphone - 如何在 iPhone 中设置 Tabbar 集成?

iphone - ios writeToFile 更改不保存

python - 使用odo将数据迁移到SQL

android - 使用 Anko 添加/查询/解析 SQLite

ios - 在 xcode 中反转的阿拉伯字符串