MS-SQL 홈 > Tip&Tech > MS-SQL

 
[MSSQL] MSSQL2005, 2008에서 SHA256, SHA512 암호화 하기
fnEnCryptSHA.zip   (2KB)     download : 2921
/*
 
MSSQL2012부터 지원해주고 있는 SHA256, SHA512를
MSSQL 2005, MSSQL 2008에서 이용할려면 CLR을 이용해서 DLL 을 등록해서
함수를 만들어서 이용을 해야합니다.
 
MSSQL 2012의 값과 동일하게 반환하게 DLL파일을 작업을 했습니다.
첨부되어 있는 DLL파일을 이용해서 아래의 SQL을 실행해서 등록 및 테스트 해주세요...
 
*/
 
--SHA256, SHA512 함수를만들데이터베이스를선택합니다.
USE [master]
GO
 
 
--CLR환경을사용하도록설정합니다.
EXEC sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO
 
/*
 
-- 이미작성된SHA256함수가있으면삭제. (문자-> SHA256)
DROP FUNCTION  dbo.fnGetStringToSha256
GO
-- 이미작성된SHA256함수가있으면삭제. (바이너리-> SHA256)
DROP FUNCTION  dbo.fnGetBinaryToSha256
GO
-- 이미작성된SHA512함수가있으면삭제. (문자-> SHA512)
DROP FUNCTION  dbo.fnGetStringToSha256
GO
-- 이미작성된SHA512함수가있으면삭제. (바이너리-> SHA512)
DROP FUNCTION  dbo.fnGetBinaryToSha512
GO
-- 어셈블리삭제
DROP ASSEMBLY InnoDll
GO
 
*/
 
 
-- #### 어셈블리를등록 ################################
CREATE ASSEMBLY InnoDll
FROM 'C:\01_Temp\fnEnCryptSHA.dll'
WITH PERMISSION_SET= SAFE
GO
 
-- #### 함수작성 ################################
-- 문자형을SHA256로반환하는함수작성
CREATE FUNCTION  fnGetStringToSha256 (@Str nvarchar(1000))
RETURNS  varbinary(8000)
AS EXTERNAL NAME InnoDll.fnEnCryptSHA.GetStringToSha256
GO
 
-- 바이너리형을SHA256로반환하는함수작성
CREATE FUNCTION  fnGetBinaryToSha256 (@Str varbinary(8000))
RETURNS  varbinary(8000)
AS EXTERNAL NAME InnoDll.fnEnCryptSHA.GetBinaryToSha256
GO
 
 
-- 문자형을SHA512로반환하는함수작성
CREATE FUNCTION  fnGetStringToSha512 (@Str nvarchar(1000))
RETURNS  varbinary(8000)
AS EXTERNAL NAME InnoDll.fnEnCryptSHA.GetStringToSha512
GO
 
-- 바이너리형을SHA512로반환하는함수작성
CREATE FUNCTION  fnGetBinaryToSha512 (@Str varbinary(8000))
RETURNS  varbinary(8000)
AS EXTERNAL NAME InnoDll.fnEnCryptSHA.GetBinaryToSha512
GO
 

--#### 함수테스트 ##############################################
--문자를SHA256로반환(리턴형varbinary형)
SELECT dbo.fnGetStringToSha256('abc')
 
--바이너리를SHA256로반환(리턴형varbinary형)
SELECT dbo.fnGetBinaryToSha256(0x9F04F41A848514162050E3D68C1A7ABB441DC2B5)
 
--문자를SHA512로반환(리턴형varbinary형)
SELECT dbo.fnGetStringToSha512('abc')
 
--바이너리를SHA512로반환(리턴형varbinary형)
SELECT dbo.fnGetBinaryToSha512(0x9F04F41A848514162050E3D68C1A7ABB441DC2B5)
2013년 05월 16일 (14:35)
| 아랫글

4, 1 / 1
no title name date visit
-- [MSSQL] MSSQL2005, 2008에서 SHA256, SHA512 암호화 하기
2013-05-16 1924
7670 [MS-SQL] 백업 스크립트
2012-01-23 952
7664 [MS-SQL] 테이블 컬럼 정보 가져오기
2011-07-23 1175
7663 [MS-SQL] 데이터베이스의 데이터 파일 및 로그파일 용량 체크 쿼리
2011-07-23 994
 1


I D
P W
회원가입
Tip&Tech
    HTML5
    MS-SQL

Copyright © 2001-2024 All rights Reserved.     Powered by INNO WB 0.6 Beta (.Net)