【发布时间】:2013-01-30 00:17:24
【问题描述】:
我不确定如何正确解决这个问题,但我知道我在这里感到困惑。我并不是要你为我编写代码或提供脚本,我所要求的只是指导。
我已经设置了一个 API(内置于 PHP 的框架)来为应用程序提供资源,主要是 iOS 和 Android。我还阅读了有关 Amazon REST API、Facebook oAuth、Twitter xAuth 等的实现。从应用程序的角度来看,我担心的是身份验证(可能是加密)。
所以最初,用户将下载应用程序然后安装它。用户在应用中看到的第一件事就是登录页面:username & password。用户填写后提交。这就是我的问题所在。我担心应用程序如何将用户名和密码传递给 API。当然,凭据必须加密,这样我才能在服务器上解密,但我对具体过程感到困惑。
我不是移动开发人员,所以也许这就是我对这个过程一无所知的原因。请赐教。
编辑:
登录时的用户名和密码不是用于访问 API 的凭据,而是他帐户的凭据,因此 API 知道用户是否有效,然后返回其个人资料的详细信息。
【问题讨论】:
-
在我们的大多数应用程序中,我们在服务器端和客户端使用 SHA1 和 MD5。因此,基本上,如果您在使用 SHA1、MD5 和字符串连接的服务器端进行一些加密,它应该适合您。至少这是我在我为 android 和 ios 完成的所有应用程序中使用它的方式。
-
好的,因为在服务器端用户密码使用
crypt()进行哈希处理,Android和iOS有类似的吗? -
您可以像我熟悉的那样使用 AES / DES 加密/解密在 Android 和 IOS 中对您的密码进行哈希处理,但是要使事情正常工作,您需要仔细查看它是如何在服务器端完成的,例如设置填充和正确的加密方法,因此您可以在移动应用程序中做出正确的事情。两种方式都需要进行大量测试。