gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 19:24:29 25 4
gpt4 key购买 nike

我是 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com