본문 바로가기

classic asp

[classic asp] AES256 암호화, 복호화

Session.CodePage = 65001
Response.ChaRset = "utf-8"

'암호화 검증 사이트 : https://www.devglan.com/online-tools/aes-encryption-decryption

Dim secret_key
secret_key = "secretkey01234567890secretkey012" '32바이트의 Key
secret_iv = "secretkey0123456" '유동적인 초기화벡터(제2의 키) '16바이트 iv

postData = "Hello, World!"
encStr = KeyEncrypt(postData)

response.write "암호화 : " & encStr & "<br>"
response.write "복호화 : " & KeyDecrypt(encStr) & "<br>"

'------------------------------------------
'암호화
Function KeyEncrypt(Key) 

  Dim result
  Dim crypt
  Set crypt = Server.CreateObject("Chilkat_9_5_0.Crypt2")

  crypt.CryptAlgorithm = "aes" '암호화 알고리즘
  crypt.CipherMode = "cbc" '암호모드
  crypt.KeyLength = 256 '키의 길이 256비트
  crypt.PaddingScheme = 0 'PKCS5
  crypt.EncodingMode = "Base64"
  crypt.SetEncodedIV secret_iv,"ascii" '초기화벡터
  crypt.SetEncodedKey secret_key,"ascii"

  result = crypt.EncryptStringENC(Key)
  Set crypt = Nothing 

  KeyEncrypt = result

End Function
'--------------------------
'복호화
Function KeyDecrypt(Key) 

  Dim result

  Dim crypt
  Set crypt = Server.CreateObject("Chilkat_9_5_0.Crypt2")

  crypt.CryptAlgorithm = "aes"
  crypt.CipherMode = "cbc"
  crypt.KeyLength = 256
  crypt.PaddingScheme = 0
  crypt.EncodingMode = "Base64"
  crypt.SetEncodedIV secret_iv,"ascii"
  crypt.SetEncodedKey secret_key,"ascii"

  result = crypt.DecryptStringENC(Key)
  Set crypt = Nothing

  KeyDecrypt = result
End Function

'classic asp' 카테고리의 다른 글

[classic asp] HTTP URL 파일 다운로드  (0) 2021.10.29
[classic asp] JWT Web Token  (0) 2021.04.26
[classic asp] 엑셀(xls)로 저장  (0) 2021.02.22
[classic asp] HTML 디코딩  (0) 2021.02.10
[classic asp] 랜덤한 난수 생성  (0) 2020.12.08