2017-02-24 5 views
-2

필자는 나의 사례를 예로 들어 설명 할 것입니다. PostgreSQL을 사용하고 있습니다. postgresql crypt() 함수 설명서를 보았습니다.데이터베이스 계층 또는 응용 프로그램 계층에서 데이터 해싱

이 기능은 postgresql의 확장으로 제공됩니다.

다른 공급 업체가 내 데이터를 다른 데이터베이스로 마이 그 레이션하면 암호가 제대로 평가 되나요?

난과의 PostgreSQL에서 생성 된 해시를 비교하려고하면 동일한 소스 문자열에 MySQL/MongoDB에 의해 제공 해주는 유틸리티를 해싱은 동일하게 평가 여부

답변

0

따르면 docs하는 것이다 crypt()

암호의 crypt (3) 스타일 해시를 계산합니다. 새로운 암호를 저장할 때 gen_salt()를 사용하여 새로운 소금 값을 생성해야합니다. 암호를 확인하려면 소금으로 저장된 해시 값을으로 전달하고 결과가 저장된 값과 일치하는지 테스트하십시오.

데이터를 다른 데이터베이스로 마이그레이션하는 경우 (저장된 해시 값이 물론 데이터의 일부인 경우), 비교 결과는 시스템에 의존하지 않습니다.

+0

내 관심사는 암호 기능이 데이터베이스에서 다를 수 있다는 것입니다. postgresql에서 생성 된 해시 값이 소스 데이터로 평가됩니다. 다른 데이터베이스에서 제공하는 유틸리티로 –

+0

질문을 업데이트하십시오. 포스트그레스에 태그를 추가하고 데이터를 다른 데이터베이스로 옮기고 싶다고 사람들은 데이터를 다른 포스트 그레스 데이터베이스로 옮기는 것을 의미한다고 생각합니다. –

+0

내가 말한대로 내 질문을 편집했지만 의심의 여지가 아직 남아 있지 않음 –

0

암호화/암호 해독을 응용 프로그램 수준까지 올릴 수 있습니까? 이 경우 암호화 된 데이터를 마이그레이션 할 수 있으며 다른 데이터베이스 공급 업체는 데이터를 일반 데이터로 간주 할까 걱정하지 않아도됩니까?

또 다른 옵션은 데이터베이스 수준에서 암호화를 적용하는 대신 디스크 수준을 암호화하는 것입니다.

0

많은 게시물을 살펴본 후 응용 프로그램 계층에서의 암호화가 더 나은 것으로 나타났습니다. 예를 들어 java에서 암호를 암호화하는 것과 같이 jBcrypt 라이브러리를 사용할 수 있습니다.