728x90

mssql 2000
자체적으로 md5를 지원하는 함수가 없다.
그래서 지원하는 dll 화일을 등록한다던지의 방법을 사용해야 한다.
http://www.codeproject.com/KB/database/xp_md5.aspx
에서 관련 dll 화일을 회원가입후 받아볼수가 있다.

등록은 C:\Program Files\Microsoft SQL Server\MSSQL\Binn 과 같은 MSSQL 실행화일 디렉토리에
다운로드한 xp_md5.dll 를 복사한후 아래의 문장을 실행하자

USE master;
EXEC sp_addextendedproc 'xp_md5', 'xp_md5.dll'

그후 사용자 함수로 사용하기 위해
사용할 DB에 아래의 함수를 추가 한다.
CREATE FUNCTION [dbo].[fn_md5] (@data TEXT)
RETURNS CHAR(32) AS
BEGIN
DECLARE @hash CHAR(32)
EXEC master.dbo.xp_md5 @data, -1, @hash OUTPUT
RETURN @hash
END



mssql 2005
자체적으로 md5를 지원한다. 다만 일반적인 프로그래밍에서의 md5 변환값과 동일하게 맞춰주기 위해
소문자처리등의 추가 변환이 필요하다
SubString(master.dbo.fn_varbintohexstr(HashBytes('MD5', 필드명 또는 문자열)), 3, 32)
만약 위에서 언급한 함수를 등록해서 사용하려면 2000과 똑같은 과정을 거치서 스칼라 함수로 등록하면된다.

출처 : http://www.devpia.co.kr/Maeul/Contents/Detail.aspx?BoardID=42&MAEULNO=17&no=104&page=1

+ Recent posts