2012-03-05 24 views
0

我正在制作一个像yelp的程序。有些人有一些帐户。所以我得把密码发到网上。什么是标准代码和编码通过网络发送密码

我应该在发送密码之前加密密码吗?

之后,其他人使用的标准密码策略是什么?

加密密码是否应该存储在mySQL服务器上?换句话说,绝对不需要解密?

基本上它就像What encryption procedure I must use to send encrypted 'email' and 'password' values over the HTTP protocoll?但对Objective-C的用户登录

后,我的计划需要告诉用户已被认证的服务器。我的程序是否需要继续发送密码?

回答

1

有超过一个架构可以实现,你必须选择考虑许多因素,如性能,有多少用户,服务器架构。 ..

基本上,你必须使用https,而不是HTTP,存储哈希密码(MD5,SHA,ECC),并经常检查,如果哈希密码等于存储哈希密码。

您也可以使用令牌实现“会话”(您必须创建一种API服务器端,然后在客户端使用它)或在每次调用Web服务时传递用户名和密码(Web服务必须验证凭据每次被调用)。另一个“快速”(它不是那么快)解决方案是实现(服务器 - 客户端)标准协议,如(它是我最喜欢的)oAuth 2.它被Twitter和Facebook使用,你可以在这里了解更多: http://oauth.net/2/

+0

+1,但尚不清楚如何使用https? – 2012-03-07 06:26:18

+0

您的Web服务必须在Web服务器上运行(通常是HTTPS运行在443端口上)配置SSL证书,您必须从证书颁发机构购买 - 除非您安装了自签名SSL证书。所有主要Web服务器均支持SSL证书。只需尝试谷歌搜索,即可找到详细的“到“您的Web服务器。 – 2012-03-07 10:30:02