如何使用AES加密VBScript?

11 vbscript aes rijndael asp-classic rfc2898

我希望使用特定的密钥和IV值在VBScript中使用Rijndael/AES加密一些数据.有没有好的功能库或COM组件可以使用?

我看着CAPICOM ; 它只允许使用密码,并且不允许设置特定的密钥和IV值.

小智 6

老问题-真的永远不会老!一种方法是在vbscript中声明加密类,而无需外部添加的COM对象或包装器。以下示例采用字符串,使用Rijndael托管类进行加密和解密:

'-----------------------------------------------------
Dim obj,arr,i,r,str,enc,asc
dim bytes,bytesd,s,sc,sd
set obj=WScript.CreateObject("System.Security.Cryptography.RijndaelManaged")
Set asc = CreateObject("System.Text.UTF8Encoding")
s="This is a private message"
bytes=asc.GetBytes_4(s)
obj.GenerateKey()
obj.GenerateIV()
set enc=obj.CreateEncryptor()
set dec=obj.CreateDecryptor()

bytec=enc.TransformFinalBlock((bytes),0,lenb(bytes))
sc=asc.GetString((bytec))
msgbox sc

byted=dec.TransformFinalBlock((bytec),0,lenb(bytec))
sd=asc.GetString((byted))
msgbox sd
'-----------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

最好,


Mik*_*nry 0

一种选择是在 .NET 中为.NET 框架中的RijndaelManaged类创建一个简单的包装类,并通过COM Interop公开它,以便您可以从 VBScript 调用它。