2011. 7. 31.

capicom이 지원하는 암호화 종류와 방법(md5,base64,sha,rsa)

CAPICOM은 디지털 서명 데이터, 서명 코드, 디지털 서명 확인, 개인 정보를 위한 데이터 보호, 데이터 해시, 데이터 암호화/해독 등에 사용할 수 있습니다
' 예제에 나와있는 해시의 상수들 rsa 방식을 제공하고 base64인코딩 지원(한글 않깨짐)
Const CAPICOM_HASH_ALGORITHM_SHA1 = 0   
Const CAPICOM_HASH_ALGORITHM_MD2 = 1   
Const CAPICOM_HASH_ALGORITHM_MD4 = 2   
Const CAPICOM_HASH_ALGORITHM_MD5 = 3   
Const CAPICOM_HASH_ALGORITHM_SHA256 = 4   
Const CAPICOM_HASH_ALGORITHM_SHA384 = 5   
Const CAPICOM_HASH_ALGORITHM_SHA512 = 6

Function MD5(strString)   
 Dim cp   
 Set cp   = Server.CreateObject("CAPICOM.HashedData")   
 cp.Algorithm = 3 'md5   
 cp.Hash Ustr2Bstr(strString)  'Unicode string  - >  Byte String Conversion   
 MD5    = cp.Value   
 Set cp   = Nothing    
End Function  
 
' capicom에 나온 결과를 그대로 써도 무방하나 타 언어와 
' 암호화된 것을 교류한다면 변환함수 꼭 쓰세요  
Function UStr2Bstr(UStr)   
  'Unicode string to Byte string conversion   
  Dim lngLoop   
  Dim strChar   
  Dim strResult   
  strResult = ""   
  
  For lngLoop = 1 to Len(UStr)   
  strChar =  Mid(UStr, lngLoop, 1)   
  strResult = strResult &  ChrB(AscB(strChar))   
  Next   
  UStr2Bstr = strResult   
End Function   


'base64 인코딩 디코딩 
 
set cp = server.createobject("CAPICOM.Utilities")   
' strEncoded = cp.Base64Encode(strString)   
' strDecoded = cp.Base64Decode(strString) 

capicom rsa방식
rsa방식 출처: 웹 인증서 암호화 (마지막회)
Const gcKEY = "OuSexy~!"

Public Function Encrypt(Message)
    Dim ed, key
    key = gcKEY

    Set ed = CreateObject("CAPICOM.EncryptedData")
    ed.Content = Message
    ed.SetSecret key
    Encrypt = ed.Encrypt
    Set ed = Nothing
End Function

Public Function Decrypt(EncMessage)
    Dim ed, key

    key = gcKEY
    Set ed = CreateObject("CAPICOM.EncryptedData")

    ed.SetSecret key
    ed.Decrypt EncMessage
    Decrypt = ed.Content

    Set ed = Nothing
End Function 

댓글 없음:

댓글 쓰기