본문 바로가기

DBMS/MSSQL

MSSQL 암호화 (pwdencrypt)

MSSQL에서 pwdencrypt/pwdcompare를 이용해보세요.

pwdencrypt로 입력된내용은 pwdcompare함수를 이용해 일치여부만 알수있읍니
다.
일치할경우 1/일치하지 않을경우 0을 돌려줍니다.

간단한 예제입니다.

USE Tempdb
GO

DROP TABLE TBL_Users
GO

CREATE TABLE TBL_Users (
UserID varchar(12)
, UserPW varbinary(128)
)
GO

INSERT INTO TBL_Users values('User1', pwdencrypt('PW1'))
INSERT INTO TBL_Users values('User2', pwdencrypt('PW2'))
INSERT INTO TBL_Users values('User3', pwdencrypt('PW3'))
INSERT INTO TBL_Users values('User4', pwdencrypt('PW4'))

SELECT * FROM TBL_Users

SELECT pwdcompare('A',UserPW) -- 0 Return
FROM TBL_Users
WHERE UserID = 'User1'

SELECT pwdcompare('PW1',UserPW) -- 1 Return
FROM TBL_Users
WHERE UserID = 'User1'
참고로 암호컬럼은 varchar를 쓰면 안되구요.
varbinary를 써야 한다는 사실.
그리고 컬럼길이도 넉넉히 잡아주어야 한다는 사실

[출처] mssql 암호화|작성자 M군