2

所以,我和一个朋友目前正在编写一个面板(在 python/django 中)来管理游戏服务器。每个客户端还通过他们的游戏服务器获得一个 MySQL 服务器。我们目前所坚持的是客户将如何找到他们的 MySQL 密码以及如何“存储”它。

密码将随机生成并在面板中呈现给用户,但是,我们显然不希望它们以明文或可逆加密的形式存储,因此我们不确定如果客户端忘记了密码该怎么办。

我们会尽量避免重置密码,因为某些客户端可能会在游戏服务器仍在尝试使用密码时重置密码,这可能会导致损坏和崩溃。

什么是安全的(但不会牺牲客户的易用性)方法来解决这个问题?

4

2 回答 2

4

虽然这不是您要寻找的答案,但您只有三种可能性

  • 存储密码明文(啊!)
  • 使用可逆加密存储,例如 RSA (http://stackoverflow.com/questions/4484246/encrypt-and-decrypt-text-with-rsa-in-php)
  • 不要存储它;客户只能重设密码,不能查看

第二种选择是一种安全的方式,因为 RSA 也用于您选择的银行使用的 HTTPS 协议中的 TLS 加密;)

于 2012-12-23T02:54:28.290 回答
1

你的问题体现了一个矛盾的术语。要么你不想要可逆性,要么你想要。你将不得不选择。

通常的技术是对密码进行哈希处理,并为用户提供一种在足够的替代身份证明上重置自己的密码的方法。出于法律不可否认性的原因,您永远不应向任何人显示密码。如果您不知道这意味着什么,请咨询律师。

于 2012-12-23T03:14:02.810 回答