2017-11-28 13 views
0

현재 프로젝트의 개념 모델을 만들고 있는데 내 엔티티 중 하나가 USER입니다. 키는 userID이며, 속성에는 firstName, lastName, emailAdr 및 userName이 포함됩니다. 프로젝트가 구현 된 후 사용자가 암호를 갖게됩니다. 그러면 암호를 속성으로 추가해야하는지 궁금해하게되거나 기밀성을 위태롭게합니까?SQL 개념 모델링 - 암호를 엔티티의 속성으로 사용할 수 있습니까?

답변

1

개념적으로 사용자 엔티티에 저장하는 것이 의미가 있으므로 사용자의 비밀번호를 보관해야합니다.

그러나 @stepio가 지적한대로 해시를 유지하는 방법을 살펴볼 때 해시 (실제로는 강력한 보안 해시)를 유지하는 것이 손상되지 않으면 노출되지 않도록 저장하는 좋은 방법입니다.

예를 들어, 테이블에서 엔티티를 인스턴스화하는 ORM을 사용하고 애플리케이션에서 해시에 대해 우려하는 점이 있다면 실제 해시를 별도의 테이블에 넣을 수 있습니다. 사용자의 테이블에 참조를 유지하십시오. 유닉스 쉐도우 암호 같은 것.

1

일반 텍스트 대신 해시 된 암호를 저장하는 것이 좋습니다.

인증을 구현하려면 사용자 입력을 해시하고 해시를 확인하면됩니다.