classic asp
[classic asp] AES256 암호화, 복호화
콩배
2021. 4. 26. 17:36
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