2011-03-06 9 views
1

모든 사용자 이름과 암호를 저장하는 xml 파일이 있습니다. 인증을 위해 XML 파일을 확인하고 싶습니다. 하지만 XML 파일을 안전하게 보관해야합니다. 어떻게해야합니까?PHP에서 xml 파일을 암호화하는 방법

+0

나는 xml 파일 자체를 암호화하고 싶다. PHP에서 XML 서명과 같은 것을 사용한다. – 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에는 프로세스에 대한 이해를 돕는 훌륭한 설명과 링크가 포함되어 있습니다.

관련 문제