Law*_*Dol 23
首先,说明(希望)明显,如果你可以以任何方式避免存储用户名和密码这样做; 这是一项重大责任,如果您的凭据存储被破坏,它可能会为同一用户提供访问许多其他地方(由于密码共享).
其次,如果您必须使用不可逆的盐渍加密哈希来存储凭证,而不是存储密码,那么如果您的数据受到损害,则密码不能轻易地进行逆向工程,并且根本不需要存储解密密钥.
如果必须存储可解密的凭据:
如果没有必要使用用户名来查找帐户记录(在您的情况下不是这样),请加密用户名和密码.如果您对两者进行加密,请将它们加密为一次加密运行,例如
userAndPass =(用户+ ":" +传);
encryptInit();
加密(盐);
加密(userAndPass);
密文= encryptFinal();
并存储奇异的blob,这样就可以减少短密码文本的出现,这些密文更易于破解,用户名还可以进一步密码.
PS:我不用PHP编程,因此无法在该环境中评论合适的加密s/w.
Fly*_*wat 15
你需要研究好的双向加密方法,我的一般经验法则是:
因此,找到一个经过充分验证的良好实现,并利用它.
这里可能有一些很好的信息: