database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30025 게시물 읽기
No. 30025
mysql 주민번호 2필드 -> 1필드로 저장 하는 방법은~?
작성자
김씨(oflegend)
작성일
2011-07-14 13:17ⓒ
2011-07-14 13:28ⓜ
조회수
9,485

mysql DB서버를 사용할때,
 주민등록번호 2필드를  그누보드에 맞게 1필드로 이전하는 방법~?

사이트에 따라서 db에 따라서  생년월일(주민번호 앞자리 6자리)과 생별호적(7자리) 로 구분되어
저장되는 경우가 있습니다. 대표적으로 고도몰..

고도에서 사용하던걸  그누보드로 이전 할려고 하는데,
다른것들 암호화 되어 있지 않아서, 큰 어려움은 없는데, 주민번호의 경우 암호화 되어있어서,
어떻게 2필드 짜리를 1필드에 저장해야 될지모르겠습니다..

최악의 경우는 그누보드에 주민번호를 2필드 형식으로 전부 수정해야 겠지요..

저 말고도 이런 고민 하신분들 계실텐데, 도움 말씀 간절히 요청 합니다.. ㅠ
db전문가 친구가 있는데, mysql은 안 쓴다하여서, 제게 도움이 안되어줍니다..==

이 글에 대한 댓글이 총 2건 있습니다.

 암호화한 방법이 무엇인지 아셔야 합니다.

 

http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html

 

중에 encode()처럼 평문으로 다시 돌릴 수 있는 방법이 있고

md5()나 password() 처럼 복호화가 되지 않는 방법이 있습니다.

 

encode()의 경우 decode()를 이용해서 복호화 할 수 있습니다.

우욱님이 2011-07-15 16:12에 작성한 댓글입니다. Edit

우욱님께서 말씀해주신 것이 전반적으로 맞습니다만, md5나 password로 복호화한 경우라도 형식이 주민번호라는 것을 알고 있는 이상 어렵지 않게 전환할 수 있습니다.

 

(1) 앞부분 6자리 000000~999999 를 전부 고도에서 사용하는 방식으로 복호화한 테이블을 만듭니다. 모두 해봤자 1백만개에 불과합니다. (복호화된 쪽에 인덱스를 걸어둡니다)

(2) 기존 테이블과 새로 만든 복호화 테이블을 결합하여 기존 앞부분 6자리를 모두 원래 값으로 돌립니다.

(3) 뒷부분 7자리에 대해서도 (1)-(2)의 과정을 동일하게 수행해, 원래 값으로 되돌립니다.

(4) 앞부분과 뒷부분을 합쳐, 그누보드 형식에 맞게 넣습니다.

 

 

박현우(lqez)님이 2011-07-15 21:12에 작성한 댓글입니다.
이 댓글은 2011-07-15 21:12에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
30028mysql rollup 사용 시
웁스
2011-07-18
8177
30027mysql db등록 후 보여질때 번호가 순차적으로 보이는 법 [3]
김시녜
2011-07-17
7704
30026날짜 관련 DB 구성 질문 [1]
박경욱
2011-07-15
8585
30025mysql 주민번호 2필드 -> 1필드로 저장 하는 방법은~? [2]
김씨
2011-07-14
9485
30024load data infile 사용시 한글 문제 [1]
끼얏호
2011-07-13
12999
30023C에서 mysql_query함수로 select into outfile 명령사용할 때 [2]
흑흑
2011-07-11
7919
30019프로그램이 정확히 작동될 수 있는지 봐주세요. [3]
정담
2011-07-03
7753
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다