PWDENCRYPT 함수를 이용한 패스워드 컬럼의 저장 > db

본문 바로가기
사이트 내 전체검색

db

PWDENCRYPT 함수를 이용한 패스워드 컬럼의 저장

페이지 정보

작성자 서방님 댓글 0건 조회 161회 작성일 06-09-13 11:21

본문

MS-SQL에서 내부적으로 지원하는 문서화되지 않은 문자열 함수인 PWDENCRYPT와 PWDCOMPARE를 통해 암호화 기능을 구현할수 있다.

<사용예제>

' 테이블을 생성한다, 암호화할 컬럼은 VARBINARY 타입으로 한다. 

CREATE TABLE MEMBER
(
  UserId VARCHAR(25),
  UserPwd VARBINARY(100)
)

' 데이터를 입력한다. 암호화할 컬럼은 PWDENCRYPT메소드를 이용해서 넣는다.

INSERT INTO MEMBER (UserId, UserPwd)

       VALUES ('ssey', PWDENCRYPT('seyoung')) 

' 해당아이디를 가진 회원의 암호화된 비밀번호 컬럼과 입력한 문자열 비밀번호를

' PWDCOMPARE(입력문자열, 컬럼명) 메소드를 이용해 비교한다.

' 둘이 같으면 1 (true), 틀리면 0 (false)를 리턴하게 된다.

' 그리고 원문이나 암호문 둘 중 하나가 NULL 이면 NULL을 리턴하게 된다.

SELECT PWDCOMPARE('SEYOUNG', UserPwd)

       FROM MEMBER WHERE UserId='ssey'  ' 결과 : 1

결과를 살펴보면 대소문자는 구분하지 않음을 알 수 있다. 암호문의 경우 위에서 살펴본대로 대소문자를 분명 다르게 비교하였으나, PWDCOMPARE 함수에서는 대소문자를 무시하였다.

또한, 실행 결과를 보면 형태는 원문의 길이에 상관없이 30~35자 사이의 거의 일정한 길이의 암호문을 출력하는 것을 볼 수 있다.  테스트 결과 원문의 길이가 varchar 기준으로 128자를 넘었을 경우 에러를 발생 하였다.

http://www.sqlmania.net/lecture/print.asp?lectid=7

첨부파일

댓글목록

등록된 댓글이 없습니다.

Total 464건 29 페이지
게시물 검색

회원로그인

접속자집계

오늘
30
어제
302
최대
1,347
전체
155,091
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.