我正在开发一个使用多种API服务的应用程序,API要求我提供API事务的用户名和密码,遗憾的是没有API令牌:-(为了自动化我需要在某处存储用户名密码,最好是数据库,我不能使用散列,因为我需要发送用户名/密码来验证和处理API请求,因此我想知道如何去做。
如果我使用Zend\Crypt加密并将密码存储在数据库中并在需要时解密,这是否足够安全?还有什么我必须考虑的吗?
寻找指针。
PS:我正在使用ZendFramework2和Doctrine / MySQL作为应用程序。
答案 0 :(得分:1)
通常您会使用令牌机制(如OAuth)。如果那是不可能的,那么就可以使用TLS / SSL客户端身份验证。
但是,如果您依赖普通密码(在应用程序级别,我仍然猜测用户名/密码tupel是通过安全连接传输的!)并且您希望将它们加密存储,您必须考虑一个有意义的机制获取场景的加密密钥。仅生成加密密钥并将其存储在普通的同一台机器上并不能提供更高的安全性。
如果没有关于您的方案的更多信息,很难提出合适的建议。