게시판
      
상위분류 : 잡필방 중위분류 : 서류가방 하위분류 : 전산과 컴퓨터
작성자 : 문시형 작성일 : 2016-12-24 조회수 : 3,883
제 목 : [MSSQL] 컬럼 암호화 (PWDENCRYPT, PWDCOMPARE)

2년전쯤 개발한 사이트의 사용자 테이블 암호화 작업을 추가해야 하는데 고객의 급한(?)요구가 있어 관련된 내용이 무엇이 있을까 살펴 보았더니 딱 이거다 하는 내용이 있어 내용을 분석/파악하여 방금전 운영에 반영을 하고 왔다.

 

기존 Password컬럼에 비밀번호가 고스란히 표시가 되었고 이부분을 암호화하여 저장하여 향후 유지관리 될 수 있도록 학는게 목표였는데 MS-SQL에 PWDENCRYPT, PWDCOMPARE 함수를 이용하였다.

사실 좀 아쉬운 점은 암호화는 되지만 복호화 부분이 참일경우 '1', 거짓일 경우 '0' 경우라 제한적인 부분이란 것이다.

로그인이 '1' 일 때는 성공, '0' 일 때는 실패로 처리하여 별 무리 없이 진행은 되었다.(그래도 아쉬워 ㅠ)

 

중요한 점은 Password가 저장될 컬럼이 VARCHAR형태가 아닌 VARBINARY 형태로 저장을 하여야 이용을 할 수 있는 점이 특징이다.

 

개발하랴 유지보수 업무 하랴 바쁘다 바빠 하앍하앍~~

 


CREATE TABLE MEMBER (
 USERID VARCHAR(10),
 USERPASSWORD VARBINARY(100)
);

 

INSERT INTO MEMBER(USERID, USERPASSWORD) VALUES ('aa', PWDENCRYPT('1111'));

 

SELECT USERID, USERPASSWORD, PWDCOMPARE('1111', USERPASSWORD) FROM MEMBER;

=============

aa | 1111 | 1

| | 목록으로