Click or drag to resize

일반 텍스트 암호화

일반 텍스트 데이터를 암호화하고 복호화할 수 있습니다.

텍스트 암호화/복호화

암호화 API는 매우 간단한 형태로 되어있으므로 사용하기 쉽습니다. 다음은 일반적인 문자열 데이터를 암호화하고 복호화하는 예제입니다.

VBScript
Set Encryptor = Server.CreateObject("TABSUpload4.Encryptor")

'마스터 암호와 솔트 값으로 초기화합니다.
Encryptor.InitializeFromIni "C:\MyPassword.ini"

plainText = "홍길동"
'암호화
cipherText = Encryptor.Encrypt(plainText)
'복호화
plainText2 = Encryptor.Decrypt(cipherText)

Encrypt 메서드를 사용해서 암호화하고 Decrypt 메서드를 사용해 복호화합니다. 암호화된 데이터는 바이너리 형식이므로 BASE64로 인코딩되어 반환됩니다.

페이지간 암호화된 데이터 전달

암호화된 데이터를 웹 페이지 사이에 전달할 수 있습니다. 폼 값을 사용해 전달하는 경우라면 아래와 같이 hidden 값을 사용해 전달하는 것이 일반적입니다.

VBScript
plainText = "홍길동"
cipherText = Encryptor.Encrypt(plainText)
Response.Write "<input type='hidden' name='name' value='" & cipherText & "'>"

URL의 GET 파라미터로 전달하는 경우라면 반드시 Server.URLEncode 메서드를 사용해 인코딩을 한 후 전달해야 합니다. BASE64 구성 문자 중에 URL에서 특별한 의미를 갖는 것이 포함되어 있기 때문입니다.

VBScript
<%
encName = Encryptor.Encrypt("홍길동")
uencName = Server.URLEncode(encName)
%>
<a href="view.asp?name=<%=uencName%>">이름</a>
복호화 오류 처리

중요한 데이터를 이와 같이 암호화해 사용하면 공격자는 해당 데이터의 내용을 볼 수 없으며 해당 데이터를 조작할 수 없게 됩니다. Encryptor가 제공하는 암호화는 데이터 조작을 방지하기 위한 메커니즘을 포함하고 있습니다. 공격자가 데이터를 조작할 경우 데이터를 복화화하는 ASP 페이지에서 복호화 오류가 발생하므로 조작된 데이터를 사전에 차단할 수 있습니다.

다음은 복호화 오류가 발생한 경우 오류 페이지로 전환하는 예제입니다.

VBScript
On Error Resume Next
plainText = Encryptor.Decrypt(Request.Form("name"))
If Err.Number <> 0 Then
    '복호화 오류 발생
    Response.Redirect "accessdenied.asp"
End If