2011-04-21 107 views

回答

4

我有一個Javascript實現的DES/TripleDES。它執行CBC和ECB模式,並且填充的 支持PKCS7,空格或零。它集成了符合RFC2898的PBKDF2,因此如果您願意,它可以從密碼生成加密密鑰和IV。您也可以明確設置加密密鑰和IV。

直接從Javascript調用 - 任何瀏覽器,Rhino或WScript.exe,或者更接近您的案例,使用Javascript的傳統ASP,它都可用。

我也包裝它作爲一個COM組件,因此它可以從任何符合COM環境調用它,如VBScript中傳統的ASP或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

+1

嗨切西奧,你有任何工作鏈接http://cheeso.members.winisp.net/srcview.aspx?dir=DES ?.提前致謝 – 2014-11-20 14:32:53

0

我會嘗試使用微軟的CAPICOM。 SDK中包含的示例可以幫助您進行滾動。

老概述:

http://msdn.microsoft.com/en-us/library/ms995332.aspx

CAPICOM SDK:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=860ee43a-a843-462f-abb5-ff88ea5896f6

你想看看就設在這裏我機器上的例子:

C: \ Program Files(x86)\ Microsoft CAPICOM 2.1.0.2 SDK \ Samples \ html \ EncryptedData.htm

+0

此鏈接可能也有幫助。 http://forums.asp.net/t/1229037.aspx – joebarbere 2011-04-21 22:48:50