我正在构建一个允许用户登录的 Web 服务,然后它将从另一个站点(我不拥有)下载所有的时间表数据。我只想让他们输入一次用户名和密码来登录我的服务,然后再次使用它来登录下一个。我需要根据那里的用户详细信息存储下载的数据,但我知道出于安全原因我必须在数据库中对密码进行哈希处理,所以我如何使用它来登录第二个服务。我虽然想取消散列,但这首先破坏了散列的全部意义。
我想这样做的原因是,然后可以将时间表下载到 android 应用程序,以便在没有数据连接时可以查看它。
任何想法都会有所帮助。
我正在构建一个允许用户登录的 Web 服务,然后它将从另一个站点(我不拥有)下载所有的时间表数据。我只想让他们输入一次用户名和密码来登录我的服务,然后再次使用它来登录下一个。我需要根据那里的用户详细信息存储下载的数据,但我知道出于安全原因我必须在数据库中对密码进行哈希处理,所以我如何使用它来登录第二个服务。我虽然想取消散列,但这首先破坏了散列的全部意义。
我想这样做的原因是,然后可以将时间表下载到 android 应用程序,以便在没有数据连接时可以查看它。
任何想法都会有所帮助。
如果这些服务在您登录后给您一个“令牌”,您可以将其存储在您的数据库中以再次访问这些服务,因此当用户登录您的网络服务时,在散列他们的信息之前,您可以使用它来登录其他服务,然后存储他们的“令牌”
这种方法只有在他们在登录后给你类似令牌的情况下才有效,如果他们没有,我认为你需要按原样存储登录信息,并且至少在 base64 上编码,这不是那么安全但不是那么明显
另一个想法可能是创建一个只有登录信息的单独数据库,并且只能通过他们的登录名(散列)访问,但这意味着您需要在数据库上创建一个用户并仅授予对该特定数据库的访问权限,只读
我确定有更多的解决方案,但希望它会有所帮助