2011. 9. 16. 15:37

패스워드 암호화

<credentials> 태그는 Web.Config 파일에서 사용자 인증 정보를 지정하는 경우 입니다. passwordFormat에 어떤 암호화 포맷을 쓸 것인지 지정해줍니다. MD5, SHA1 암호화 포맷을 쓸수 있으며, Clear은 암호화를 사용하지 않을때 지정합니다.


<credentials passwordFormat="Clear">
        <user name="user1" password="pass"/>
        <user name="user2" password="pass"/>
</credentials>


사용자 Db 를 따로 관리해서 인증하는 경우, 다음과 같이 암호화 메서드를 불러서 암호화된 패스워드를 구합니다. 사용자 등록할 때 암호화된 패스워드를 데이터베이스에 저장해두었다가 비교해주면 됩니다. 로그인할 때 입력한 패스워드 역시 암호호한 후에 비교해주어야 겠죠.


private void Button1_click(object sender, System.EventArgs e)
{
      Label1.Text = "입력한 암호 : " + txtPwd.Text;
      Label2.Text = FormsAuthentication.HashPasswordForStoringInConfigFile(txtPwd.Text, "SHA1");
      Label2.Text = FormsAuthentication.HashPasswordForStoringInConfigFile(txtPwd.Text, "MD5");
}