如果您的脚本可以解密密码,那么有人可以闯入您的服务器.只有当有人输入密码才能解锁时,加密才真正有用 – 如果它仍然未锁定(或者脚本有解锁密码),加密是没有意义的
这就是为什么散列更有用,因为它是一个单向过程 – 即使有人知道你的密码哈希,他们也不知道他们必须输入的纯文本来生成它(没有大量的暴力)
我不担心将游戏密码保持为纯文本.如果您担心保护它们,请修复可能的SQL注入/等,确保您的Web服务器和其他软件是最新的并且配置正确等等.
也许想办法让窃取密码的吸引力低于实际玩游戏的吸引力?例如,有一个游戏(我不记得它是什么),如果你使用了跳级作弊,你进入了下一个级别,但它没有将其标记为“完整”,或者你可以跳过这个级别但没有得到任何积分.或者看看Project Euler,你可以做任何级别,但是如果你输入答案你只能获得积分(并且解决问题的答案是整个游戏点,所以作弊会打败游戏)
如果你真的是偏执狂,你可以使用非对称加密,你基本上用密钥A加密东西,你只能用密钥B读取它.
我提出了类似的概念,使用GPG加密(流行的非对称加密系统,主要用于电子邮件加密或签名)to secure website data.我不太确定这将如何适用于保护游戏级密码,正如我所说,你’ d需要非常偏执甚至考虑这个..
简而言之,我会说密码以纯文本形式存储,并将您的安全问题集中在其他地方(Web应用程序代码本身)