sub_title
 ASP
제   목 ASP - BASE64 인코딩 디코딩 함수
작성자 오렌지 등록일 2009-02-06 01:43:20 조회수 229,204
첨부화일 base64.asp   
ASP - BASE64 인코딩 디코딩 함수


뭐 암호학이랑 상관은 없지만 암호화, 복호화란 이름으로 많이 쓰이는 BASE64 인코딩 디코딩 함수 중 한가지 입니다.
사용법은 간단합니다. 아래와 같이 함수만 호출해 주시면 됩니다.

   '인코딩
   encodeValue = Base64encode("ABCDEF")
   response.Write encodeValue

   '디코딩
   decodeValue = Base64decode(encodeValue)
   response.Write decodeValue


<%
Const sBASE_64_CHARACTERS = _
           "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"


function Base64decode(ByVal asContents)
           Dim lsResult
           Dim lnPosition
           Dim lsGroup64, lsGroupBinary
           Dim Char1, Char2, Char3, Char4
           Dim Byte1, Byte2, Byte3
           if Len(asContents) Mod 4 > 0 _
          Then asContents = asContents & String(4 - (Len(asContents) Mod 4), " ")
           lsResult = ""

           For lnPosition = 1 To Len(asContents) Step 4
                   lsGroupBinary = ""
                   lsGroup64 = Mid(asContents, lnPosition, 4)
                   Char1 = INSTR(sBASE_64_CHARACTERS, Mid(lsGroup64, 1, 1)) - 1
                   Char2 = INSTR(sBASE_64_CHARACTERS, Mid(lsGroup64, 2, 1)) - 1
                   Char3 = INSTR(sBASE_64_CHARACTERS, Mid(lsGroup64, 3, 1)) - 1
                   Char4 = INSTR(sBASE_64_CHARACTERS, Mid(lsGroup64, 4, 1)) - 1
                   Byte1 = Chr(((Char2 And 48) \ 16) Or (Char1 * 4) And &HFF)
                   Byte2 = lsGroupBinary & Chr(((Char3 And 60) \ 4) Or (Char2 * 16) And &HFF)
                   Byte3 = Chr((((Char3 And 3) * 64) And &HFF) Or (Char4 And 63))
                   lsGroupBinary = Byte1 & Byte2 & Byte3

                   lsResult = lsResult + lsGroupBinary
           Next
Base64decode = lsResult
End function
' --------------------------------------
' ---------------------------------------
function Base64encode(ByVal asContents)
        Dim lnPosition
        Dim lsResult
        Dim Char1
        Dim Char2
        Dim Char3
        Dim Char4
        Dim Byte1
        Dim Byte2
        Dim Byte3
        Dim SaveBits1
        Dim SaveBits2
        Dim lsGroupBinary
        Dim lsGroup64

        if Len(asContents) Mod 3 > 0 Then _
        asContents = asContents & String(3 - (Len(asContents) Mod 3), " ")
        lsResult = ""

        For lnPosition = 1 To Len(asContents) Step 3
               lsGroup64 = ""
               lsGroupBinary = Mid(asContents, lnPosition, 3)

               Byte1 = Asc(Mid(lsGroupBinary, 1, 1)): SaveBits1 = Byte1 And 3
               Byte2 = Asc(Mid(lsGroupBinary, 2, 1)): SaveBits2 = Byte2 And 15
               Byte3 = Asc(Mid(lsGroupBinary, 3, 1))

               Char1 = Mid(sBASE_64_CHARACTERS, ((Byte1 And 252) \ 4) + 1, 1)
               Char2 = Mid(sBASE_64_CHARACTERS, (((Byte2 And 240) \ 16) Or _
               (SaveBits1 * 16) And &HFF) + 1, 1)
               Char3 = Mid(sBASE_64_CHARACTERS, (((Byte3 And 192) \ 64) Or _
               (SaveBits2 * 4) And &HFF) + 1, 1)
               Char4 = Mid(sBASE_64_CHARACTERS, (Byte3 And 63) + 1, 1)
               lsGroup64 = Char1 & Char2 & Char3 & Char4

               lsResult = lsResult + lsGroup64
         Next

         Base64encode = lsResult
End function
%>
<%
   '인코딩
   encodeValue = Base64encode("ABCDEF")
   response.Write encodeValue

   '디코딩
   decodeValue = Base64decode(encodeValue)
   response.Write decodeValue
%>

 
2
    
 
1
        list
 
※ 짧은 댓글일수록 예의를 갖추어 작성해 주시기 바랍니다.
line
reply cancel
 
번호 제목 글쓴이 추천 조회 날짜
81  ASP 파일의 존재유무를 체크하여 존재하면 삭제하기   member 오렌지 2 / 0 221881 2010-01-23
80  ASP - 정규식을 이용한 html 태그 제거 함수   member 오렌지 0 / 0 210254 2009-02-25
79  ASP 파일 확장자 제한하기   admin 웹마당넷 4 / 0 226141 2009-02-22
78  ASP - BASE64 인코딩 디코딩 함수 첨부파일   member 오렌지 2 / 1 229204 2009-02-06
77  ASP로 다국어(UTF-8) 지원 사이트 개발   admin 웹마당넷 0 / 0 214086 2009-01-27
76  ASP를 사용하여 SSL 요구   member 웹스톤 0 / 0 208141 2009-01-12
75  ASP용 MD5 함수 첨부파일   member 티란투라 0 / 0 219575 2009-01-07
74  ASP 로그인시 로그기록을 남기는 예제 첨부파일   admin 웹마당넷 0 / 0 215931 2009-01-04
73  ASP SQL 인젝션 방어와 복구   member 억새풀 0 / 0 215577 2008-12-26
72  ASP에서 REFERER 를 이용한 페이지 직접 접근 막기   member 억새풀 1 / 0 292743 2008-12-23
71  ASP 자동링크 함수   member 웹스톤 0 / 0 214889 2008-12-16
70  ASP 영문으로된 월 이름(Month Name) 구하기   admin 웹마당넷 0 / 0 211219 2008-12-09
69  ASP 문장 연결 표시(line continuation)   admin 웹마당넷 0 / 0 212276 2008-12-08
68  ASP 이름이 같은 폼태그(Form Tag)의 값(value) 처리하기   admin 웹마당넷 0 / 0 219354 2008-12-05
67  ASP OBJECT 태그를 이용한 OLEDB 연결   admin 웹마당넷 4 / 1 223623 2008-11-12
66  ASP 로그인(Login) 처리 예제 (OLEDB) 첨부파일   admin 웹마당넷 0 / 0 242855 2008-10-10
65  ASP 검색 페이지에서 검색된 문자열의 색깔 바꾸기   admin 웹마당넷 0 / 0 208405 2008-10-03
64  ASP 로그인(Login) 처리 예제 (ODBC) 첨부파일   admin 웹마당넷 0 / 0 244793 2008-10-02
63  ASP에서 XML 파일 읽어들이기   admin 웹마당넷 0 / 0 211988 2008-09-25
62  ASP 세션(Session)에 배열 저장하기   admin 웹마당넷 0 / 0 208424 2008-09-24
61  ASP For Each Next 순환문을 이용한 선택된 체크박스의 값 알아내기 첨부파일   admin 웹마당넷 1 / 0 236410 2008-09-23
60  ASP에서 날짜, 요일구하기   admin 웹마당넷 0 / 0 234717 2008-09-20
59  asp 페이지를 유니코드(unicode)로 출력하기   member 웹스톤 0 / 0 215095 2008-09-20
58  [ASP] 사이트 링크의 유효성 검사   member 다자래 0 / 0 206125 2008-08-22
57  [ASP] 퀵정렬   member 다자래 0 / 0 213897 2008-08-20
write
[2] [3] [4] button