2011-03-06 44 views
1

我有一个存储所有用户名和密码的xml文件。我想检查xml文件进行身份验证。但我需要保持xml文件的安全。我应该怎么做?如何在php中加密xml文件

+0

我的意思是我想加密xml文件本身。使用xml签名就像在php中的东西。 – simplyblue

回答

2

如果您仅将其用于身份验证目的,则不应存储密码本身,而应存储密码的哈希值。然后,您会比较用户在通过相同流程运行后输入的值。

在现有的How to hash and salt passwords问题中有一些很好的PHP特定提示。

1

如果可能,不要将简单密码存储在XML中。

更好的方法是存储散列值(例如使用SHA-1),稍后当您检查身份验证时再次使用相同的算法再次输入给定密码,并比较它是否与您的哈希值相同已存储在XML文件中。

PHP甚至为此提供了函数sha1()

+0

总是可以不用纯文本存储密码。简单而简单,不要这样做!密码应该总是以某种方式加密。即使base64比纯文本更好。 – FreeAsInBeer

+1

但请确保您了解方式的含义,以及您如何存储数据。混淆数据会使“可读”密码消失,但只会阻碍没有经验的人。要么使用真实且经过验证的加密算法,要么以无法再提取数据的方式存储它们(如使用散列方法,也可以使用FreeAsInBeer)。有时候除了存储密码本身之外没有别的办法,但是要确保攻击者尽可能地难以重新获得原始数据。 – Kosi2801

1

您可能需要考虑存储密码的盐渍散列,而不是加密整个XML文件。这SO link包含一个很好的解释以及应该帮助你更好地理解过程的链接。