본문 바로가기
데이터베이스/MSSQL

[2000/2005] MD5 암호화 사용하기

by 브래드.권 2013. 3. 27.

 

 

 

MSSQL 2005 에서는 MD5 를 사용한 암호화를 지원하지만 MSSQL 2000 은 이를 지원하지 않습니다. 그래도 방법은 있더군요. MD5 암호화를 지원하는 DLL 을 등록하여 사용하는 방법입니다.

아래는 MSSQL 2000 과 2005 에서 MD5 암호화 사용방법입니다.

 

 

[MSSQL 2000]

등록방법은 아래와 같습니다.

 

1. MSSQL 2000 이 깔린 서버의 C:\Program Files\Microsoft SQL Server\MSSQL\Binn 과 같은 MSSQL 실행파일 디렉토리에 해당 DLL 파일을 복사합니다.

 

xp_md5_dll.zip

 

2. SQL 에서 아래 Query 를 실행합니다.

 

 

USE master;

EXEC sp_addextendedproc 'xp_md5', 'xp_md5.dll' 

 

 

3. 이를 그대로 사용할 수도 있겠지만 편의를 위해 사용할 DB 에 아래와 같이 사용자 함수를 생성합니다.

 

 

CREATE FUNCTION [dbo].[fn_md5](@data TEXT)

RETURNS CHAR(32)

AS

BEGIN

DECLARE @hash CHAR(32)

EXEC master.dbo.fn_md5 @data, -1, @hash OUTPUT

RETURN @hash

END

 

 

[MSSQL 2005]

MD5 암호화를 지원하므로 내장된 함수를 사용할 수 있습니다.

 

 

SELECT SUBSTRING(master.dbo.fn_varbintohexstr(HashBytes('MD5', '변경할 문자열')), 3, 32)