개발및업무/SQL
Ms-Sql 암호화, 복호화 (PwdEncrypt, PwdCompare)
H0IT
2010. 12. 1. 10:39
728x90
Ms-Sql의 컬럼을 암호화하기 위한 내장함수가 있다.
-PwdEncrypt : 컬럼의 데이터를 암호화한다. ex. PwdEncrypt('암호화할 데이터')
-PwdCompare : 암호화한 데이터를 비교해서 확인한다. ex. PwdCompare('데이터', 암호화컬럼)
간단 예제
create table TEST (
--password varchar(100) varbinary(500)
password varbinary(500) -- varbinary 타입으로 하자
);
테이블을 만든 후
insert into TEST values (PwdEncrypt('1111'));
데이터를 암호화하여 넣은 후 select해보자
select PwdCompare('1111', password) from TEST
결과 : 1
select PwdCompare('2222', password) from TEST
결과 : 0
PwdCompare의 결과는 1이나 0으로 리턴된다. 1이면 맞는거고 0이면 틀린것이다.
테이블을 만든 후
insert into TEST values (PwdEncrypt('1111'));
데이터를 암호화하여 넣은 후 select해보자
select PwdCompare('1111', password) from TEST
결과 : 1
select PwdCompare('2222', password) from TEST
결과 : 0
PwdCompare의 결과는 1이나 0으로 리턴된다. 1이면 맞는거고 0이면 틀린것이다.
MySQL 에서는 password()
1. PwdEncrypt - 암호화
PwdEncrypt('암호화문자')
ex) INSERT INTO members(user_id, password) VALUES('myid', PwdEncrypt('mypwd'))
2. PwdCompare - 비교
PwdCompare('비교대상문자', '암호화 된 문자')
->양쪽이 같으면 1을 리턴 다르면 0 리턴, 둘중하나가 NULL 이면 NULL 을 리턴
ex) SELECT PwdCompare('1234', password) FROM members WHERE user_id = 'myid'
728x90