MSSQL 에서 BASE64 처리하는 함수
여기서 varchar 값으로 해서 , varchar 로 base64 암호화 처리하는 부분이 있습니다.
nvarchar 로 처리하면 서로 다른 값이 나올 수 있으므로 참고하시기 바랍니다.
** BASE64 인코딩 함수
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create FUNCTION [dbo].[Base64Encode] ( @plain VARCHAR(max) )
RETURNS VARCHAR(MAX)
BEGIN
declare @encoded VARCHAR(max)
SELECT @encoded = CAST(N'' AS XML).value('xs:base64Binary(xs:hexBinary(sql:column("bin")))', 'VARCHAR(MAX)')
FROM (
SELECT CAST(@plain AS VARBINARY(MAX)) AS bin
) AS bin_sql_server_temp;
RETURN @encoded
END
** BASE64 디코딩 함수
CREATE FUNCTION [dbo].[Base64Decode] (
@Encoded VARCHAR(max)
)
RETURNS VARCHAR(MAX)
BEGIN
declare @Decoded VARCHAR(max)
SELECT @Decoded = CAST(CAST(N'' AS XML).value('xs:base64Binary(sql:column("bin"))', 'VARBINARY(MAX)') AS VARCHAR(MAX))
FROM (
SELECT CAST(@Encoded AS VARCHAR(MAX)) AS bin
) AS bin_sql_server_temp;
RETURN @Decoded
END
** 실행하기
select dbo.[Base64Encode]('test123')
select dbo.[Base64Decode]('dGVzdDEyMw==')
'MSSQL' 카테고리의 다른 글
[MSSQL] @@ERROR 사용 (0) | 2016.07.16 |
---|---|
[MSSQL] 프로시저 실행 결과를 txt 파일로 저장하기 (0) | 2016.07.16 |
[MSSQL] IDENTITY 필드에 DATA 입력하기 (0) | 2016.07.15 |
[MSSQL] CEILING / FLOOR / ROUND 절상 / 절삭 / 반올림 (0) | 2016.07.14 |
[MSSQL] INNER JOIN / OUTER JOIN 조인 (0) | 2016.07.14 |