[ASP] MS-SQL DB 에서 필드 암호화 작업
'// MS-SQL 의 내장 함수 사용
'// pwdencrypt : 암호화
'// 참고: http://msdn.microsoft.com/ko-kr/library/dd822792.aspx
'// pwdcompare: 주어진 값과 암호화된 필드 비교
'// 참고: http://msdn.microsoft.com/ko-kr/library/dd822791.aspx
'// 기타보안함수 참고: http://msdn.microsoft.com/ko-kr/library/ms186236.aspx
'// START: 사전 작업
'// 해당 테이블의 해당 필드는 varbinary(256) 으로 가정
'// FINISH: 사전 작업
'// START: 암호화된 필드 내용 삽입
SQL = ""
SQL = SQL & " INSERT INTO 테이블명 "
SQL = SQL & " ( "
SQL = SQL & " Pwd "
SQL = SQL & " ) "
SQL = SQL & " VALUES "
SQL = SQL & " ( "
SQL = SQL & " CAST(pwdencrypt('" & Pwd & "') AS varbinary(256))"
SQL = SQL & " ) "
adoCn.Execute SQL, cnt
'// FINISH: 암호화된 필드 내용 삽입
'// START: 암호화된 필드 내용 갱신
SQL = ""
SQL = SQL & " UPDATE 테이블명 "
SQL = SQL & " SET Pwd = CAST(pwdencrypt('" & Pwd & "') AS varbinary(256))"
SQL = SQL & " WHERE Idx = " & Idx
adoCn.Execute SQL, cnt
'// FINISH: 암호화된 필드 내용 갱신
'// START: 암호화된 필드 내용 비교
SQL = ""
SQL = SQL & " select pwdcompare"
SQL = SQL & " ('" & pwd & "', "
SQL = SQL & " ("
SQL = SQL & " select pwd from 테이블명 where uid = '" & uid & "'"
SQL = SQL & " )"
SQL = SQL & " )"
adoRs.Open SQL, adoCn
adoRs(0) '// 1 이면 True, 0 이면 False
'// FINISH: 암호화된 필드 내용 비교