Android身份验证到PHP服务器方法

Android身份验证到PHP服务器方法,php,android,authentication,Php,Android,Authentication,我有一个应用程序,可以检索票证并将其提交回PHP服务器。每个用户都必须以某种方式从应用程序登录到PHP服务器。我读过很多不同的方法,比如OAuth2.0,但我的问题是为什么它需要如此复杂?为什么我不能在发送到服务器的每个HTTP请求中添加用户名和密码(md5之类的)?服务器可以在响应之前进行检查。这怎么会是安全风险 < >我不向服务器发送任何敏感信息。 < P>未加密的MD5散列和用户名可以很容易地被中间人攻击拦截,并由第三方发出,以作为用户登录。散列的目的是防止密码被盗。如果您的服务器被破坏,

我有一个应用程序,可以检索票证并将其提交回PHP服务器。每个用户都必须以某种方式从应用程序登录到PHP服务器。我读过很多不同的方法,比如OAuth2.0,但我的问题是为什么它需要如此复杂?为什么我不能在发送到服务器的每个HTTP请求中添加用户名和密码(md5之类的)?服务器可以在响应之前进行检查。这怎么会是安全风险


< >我不向服务器发送任何敏感信息。

< P>未加密的MD5散列和用户名可以很容易地被中间人攻击拦截,并由第三方发出,以作为用户登录。散列的目的是防止密码被盗。如果您的服务器被破坏,发送未加密的版本可能会被截获并发送,就像他们是用户一样。您希望加密整个数据包,这样第三方就不能冒充用户。为此,我将研究HTTPS/SSL

的后端大大简化了身份验证过程,可能值得研究


有关哈希与加密以及最佳实践的更多详细信息,请参见此。您将找到一种更好的散列方法,包括盐析和多次迭代,如果正确地进行,可以大大增强md5,尽管还有更安全的替代方法

如果您想连接到现有的身份验证服务,OAuth非常好。这意味着用户不需要记住你的站点/应用的密码。认为这是对用户的服务。不过,OAuth的实现并不一定更简单或更快。我可以想象,对于一个新手程序员来说,这可能会让人望而生畏

就存储密码而言,
md5
非常糟糕。 本质上,如果您的数据库(散列)密码泄漏,攻击者可以轻松计算原始密码<代码>md5已经不够强大了。也许10年前还不错

正确存储密码相当棘手。构建一个包含入侵检测、密码存储、密码检索/重置的身份验证系统是一项艰巨的工作。也许OAuth没那么糟糕