经典ASP中的三重DES解密?(Triple DES decryption in classic ASP?)

编程入门 行业动态 更新时间:2024-10-15 22:24:54
经典ASP中的三重DES解密?(Triple DES decryption in classic ASP?)

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

How can I decrypt a string in classic-ASP/VBScript? The string comes from a php application that uses 3DES encryption.

最满意答案

我有一个DES / TripleDES的Javascript实现。 它执行CBC和ECB模式,并且填充支持PKCS7,Spaces或Zeroes。 它与符合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

I have a Javascript implementation of DES/TripleDES. It does CBC and ECB modes, and for padding supports PKCS7, Spaces, or Zeroes. It's integrated with a RFC2898-compliant PBKDF2, so it can generate encryption keys and IV's from passwords if you like. You can also set the crypto key and IV explicitly.

It is usable when calling directly from Javascript - any browser, or from Rhino, or WScript.exe, or maybe closer to your case, classic ASP using Javascript.

I've also packaged it as a COM component, so it is possible to call it from any COM-compliant environment, like VBScript running in classic ASP, or Perl, or VBA, etc.

It is an independent implementation, and is fully compliant with and interoperable with the .NET DESCryptoServiceProvider and TripleDESCryptoServiceProvider.

Get it here: http://cheeso.members.winisp.net/srcview.aspx?dir=DES

When calling it directly from Javascript, it looks like this:

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);

When calling the COM component from VBScript, it looks like this:

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

The encryption is pretty fast but the key generation is not.


Edit:

you can also use the Javascript DES stuff in a browser. here's an example: http://jsbin.com/oguye3

更多推荐

本文发布于:2023-07-14 14:36:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1105128.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:经典   ASP   DES   classic   decryption

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!