加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 10:00:08 所属栏目:asp.Net 来源:网络整理
导读:如何在classic-ASP / VBScript中解密字符串?该字符串来自使用3DES加密的php应用程序. 解决方法 我有一个DES / TripleDES的 Javascript实现.它有CBC和ECB模式,以及 用于填充支持PKCS7,空格或零.它与符合RFC2898标准的PBKDF2集成,因此如果您愿意,它可以从密码
如何在classic-ASP / VBScript中解密字符串?该字符串来自使用3DES加密的php应用程序.

解决方法

我有一个DES / TripleDES的 Javascript实现.它有CBC和ECB模式,以及
用于填充支持PKCS7,空格或零.它与符合RFC2898标准的PBKDF2集成,因此如果您愿意,它可以从密码生成加密密钥和IV.您还可以显式设置加密密钥和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

加密速度非常快,但密钥生成却不是.

编辑:

你也可以在浏览器中使用Javascript DES.
这是一个例子:http://jsbin.com/oguye3

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读