ASP 3DES 로 검색을 하면 뜨는 http://www.example-code.com/asp/3des.asp 의 소스를 보면
set crypt = Server.CreateObject("Chilkat.Crypt2")
success = crypt.UnlockComponent("Anything for 30-day trial")
If (success <> 1) Then
' Unlock failed.
Response.Write crypt.LastErrorText & "<br>"
End If
문제는 Chilkat.Crypt2 는 유료다. 유료화된 암호화 툴을 쓸수가 없기 때문에 인터넷을 검색해보니 Platform SDK: CAPICOM 라는 것을 찾을 수 있었다. 우선 http://www.microsoft.com/ko-kr/download/details.aspx?id=25281 로 가서 다운로드를 받는다. CAPICOM 2.1.0.1과 여기서 사용되는 샘플에 필요한 재배포 가능 파일을 포함하는 다운로드입니다. CAPICOM은 디지털 서명 데이터, 서명 코드, 디지털 서명 확인, 개인 정보를 위한 데이터 보호, 데이터 해시, 데이터 암호화/해독 등에 사용할 수 있습니다. 다운받고 설치하면 해.결! 소스는 매우 간단하다. 인터넷을 조금만 검색하면 소스를 찾을 수 있다.
<%
Const CAPICOM_ENCRYPTION_ALGORITHM_RC2 = 0 ' Use RSA RC2 encryption.
Const CAPICOM_ENCRYPTION_ALGORITHM_RC4 = 1 ' Use RSA RC4 encryption.
Const CAPICOM_ENCRYPTION_ALGORITHM_DES = 2 ' Use DES encryption.
Const CAPICOM_ENCRYPTION_ALGORITHM_3DES = 3 ' Use triple DES encryption.
strTestMessage = "Hello World!"
strPassphrase = "A#0x?\$dE<" ' NIEMALS die Passphrase "herumliegen" lassen
Set xEncrypt = Server.CreateObject("CAPICOM.EncryptedData")
xEncrypt.Content = strTestMessage
xEncrypt.SetSecret strPassphrase
xEncrypt.Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM_3DES
strEncryptedMsg = xEncrypt.Encrypt()
Response.Write strEncryptedMsg & "<br/>"
%>
<%
strPassphrase = "A#0x?\$dE<" ' NIEMALS die Passphrase "herumliegen" lassen
Set xEncrypt = Server.CreateObject("CAPICOM.EncryptedData")
xEncrypt.SetSecret strPassphrase
xEncrypt.Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM_3DES
xEncrypt.Decrypt(strEncryptedMsg)
strPlainText = xEncrypt.Content
Response.Write strPlainText
%>
물론 필자는 dll 파일이 등록이 안되서 매우 고생을 했지만!! 어떻게 해결했는지는 비.밀! (티스토리에서 github 으로 옮기면서 비.밀 이라고 적어놨는데, 어떻게 했는지 기억이 안난다. 해당 기능은 asp 쪽의 세션을 훔쳐서 불법으로 뭔가를 다운받기 위한 오덕스러운 짓이었던걸로 기억해서, 비밀로 한거 같은데..)