2015년 4월 1일 수요일

[MSSQL] 단방향 암호화(HASHBYTES)

*문제: 컬럼 값을 암호화 해야하는 경우(단방향 암호화)

*해결: HASHBYTES 함수 사용

1. 단방향 암호화라 복호화 불가
2. 암호화 값 사이의 비교 가능( 대소문자 구분 가능 )
3. 지원 알고리즘
MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512

*Step1. HASHBYTES 함수 사용

CREATE TABLE #USER_TBL
(
        ID INT,
        PWD VARBINARY(20)
)

INSERT INTO #USER_TBL (ID, PWD) VALUES (1, HASHBYTES('sha1', 'abc'))
INSERT INTO #USER_TBL (ID, PWD) VALUES (2, HASHBYTES('sha1', 'bcd'))

INSERT INTO #USER_TBL (ID, PWD) VALUES (3, HASHBYTES('sha1', 'Bcd'))

*Step2. 결과 확인

select *
from #USER_TBL with(nolock)
where PWD = HASHBYTES('sha1', 'Bcd')


select *
from #USER_TBL with(nolock)
where PWD = HASHBYTES('sha1', 'bcd')


댓글 1개:

  1. 안녕하세요? SHA2_256 암호화 관련해서 문의드립니다.

    만약 ''abc', 'bcd' 등 특정 text 변화 말로 특정 열의 변수 값 자체를 sha2_256를 활용해서 변수값으로 치환하려면 어어떻게 하면 되나요?

    답글삭제

추천 게시물

python: SVD(Singular Value Decomposition)로 간단한 추천시스템 만들기( feat. surprise )

svd_example In [15]: # !pip install surprise In [21]: from...