首页 文章

密码检索和存储

提问于
浏览
2

在我的应用程序中,我必须重复调用需要身份验证的webservices . 用户不想重复输入验证信息(用户名和密码) .

是否有一种安全的方法来存储密码至少在应用程序运行的会话长度,因此用户只需输入一次数据?

目前,我将密码保存在内存中,并在输入密码并在用于服务调用时将其解密 . 但我觉得有点不舒服 . 这是处理这类数据的推荐方法吗?

将密码存储在数据库中以便在多个会话中使用它怎么样?是否有推荐的处理方式?我听说过bcrypt和pbkdf2 . 但它们仅用于散列目的并比较输入的密码,而不是再次使用“解密”密码 .

或者它是一种更好的方法来使用外部密码缓存,如keepass(或任何可以使用的) .

1 回答

  • 2

    对于内存存储,请使用在内部使用SecureString的SecureString类或NetworkCredentials .

    对于持久存储,使用Data Protection API加密密码 . 它将使用只有此计算机上当前Windows用户可访问的密钥对其进行加密 .

相关问题