gpt4 book ai didi

vbscript - 经典ASP中的三重DES解密?

转载 作者:行者123 更新时间:2023-12-04 01:23:42 48 4
gpt4 key购买 nike

如何在经典 ASP/VBScript 中解密字符串?该字符串来自使用 3DES 加密的 php 应用程序。

最佳答案

我有一个 DES/TripleDES 的 Javascript 实现。它执行 CBC 和 ECB 模式,并且
用于填充支持 PKCS7、空格或零。它与符合 RFC2898 的 PBKDF2 集成,因此如果您愿意,它可以从密码生成加密 key 和 IV。您还可以明确设置加密 key 和 IV。

当直接从 Javascript 调用时可用 - 任何浏览器,或从 Rhino 或 WScript.exe,或者可能更接近您的情况,使用 Javascript 的经典 ASP。

我还将它打包为 COM 组件,因此可以从任何兼容 COM 的环境中调用它,例如在经典 ASP 中运行的 VBScript、Perl 或 VBA 等。

它是一个独立的实现,完全符合 .NET DESCryptoServiceProvider 和 TripleDESCryptoServiceProvider 并可与之互操作。

在这里获取:
http://cheeso.members.winisp.net/srcview.aspx?dir=DES

当直接从 Javascript 调用它时,它看起来像这样:

var pbkdf2 = new PBKDF2(password, salt, iterations);
var key = pbkdf2.deriveBytes(8); // use 24 for 3DES
var iv = pbkdf2.deriveBytes(8); // always 8 (==blocksize)
var des = new DES(key,iv);
var plaintext = "Hello. This is a test. of the emergency broadcasting system.";
var ciphertext = des.encrypt(plaintext);

当从 VBScript 调用 COM 组件时,它看起来像这样:
Dim des
set des = CreateObject("Ionic.Com.DES")
des.Password = "This is my password"
des.Mode = "CBC"
des.TripleDES = True
des.Rfc2898Iterations = 1000
Dim result
result = des.EncryptString(plainText)
Dim decrypted
decrypted = des.DecryptBytes(result)
WScript.echo "decrypted : " & decrypted

加密非常快,但 key 生成不是。

编辑:

您还可以在浏览器中使用 Javascript DES 的东西。
这是一个例子: http://jsbin.com/oguye3

关于vbscript - 经典ASP中的三重DES解密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5749859/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com