我正在开发一个JAVA程序,它向asp文件发送请求并运行良好。
现在我想加密POST请求,但我需要在JAVA和ASP上使用相同的密钥进行正确的解密(至少我认为是这样)。
那么如何从vbscript中的字符串生成密钥?我需要自定义IV吗?我不知道什么是那个:(
(我从未加密过任何东西,我很新手)
set obj = server.CreateObject("System.Security.Cryptography.RijndaelManaged")
set utf = CreateObject("System.Text.UTF8Encoding")
s="This is a private message"
bytes=utf.GetBytes_4(s)
obj.GenerateKey() 'need to custom this
obj.GenerateIV() 'need to custom this?
set enc=obj.CreateEncryptor()
set dec=obj.CreateDecryptor()
bytec=enc.TransformFinalBlock((bytes),0,lenb(bytes))
sc=utf.GetString((bytec))
response.write sc
byted=dec.TransformFinalBlock((bytec),0,lenb(bytec))
sd=utf.GetString((byted))
response.write sd
RijndaelManaged
的默认Mode
),但它没有执行消息认证码(MAC)验证,而在使用CBC模式下的AES时这是必要的。MAC可以防止对手在未被检测到的情况下更改IV或密文。我已经编写了自己的解决方案,在此执行带有MAC的AES加密:github.com/susam/aes.vbs。它适用于Base64编码的密钥,并负责MAC计算/验证。 - Susam Pal