2011-02-05 52 views
0

我已經使用這個代碼或類似的東西一次又一次的服務器代碼中對我的web應用程序,但現在我試圖讓一個命令用於與維護後端一起工作。惱火...簡單的代碼,但是... org.jasypt.exceptions.EncryptionOperationNotPossibleException

繼續得到一個EncryptionOperationNotPossibleException,但不能看到我在代碼中做錯了什麼。爲了測試片段,我使用了一個真實的加密字符串來確保它不是測試輸入。

在那裏的任何人都可以看到代碼中的異常來自哪裏?

import org.jasypt.exceptions.EncryptionOperationNotPossibleException; 
import org.jasypt.util.text.BasicTextEncryptor; 

public class decipher { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     if (args[0] != null) { 
      String encstr = args[0]; 
      String decstr = ""; 

      if (encstr != null && !encstr.equals("")) { 
       try { 
        BasicTextEncryptor textEncryptor = new BasicTextEncryptor(); 
        textEncryptor.setPassword("1234566789"); 
        decstr = textEncryptor.decrypt(encstr); 
        System.out.println(decstr); 
       } catch (EncryptionOperationNotPossibleException e) { 
        System.out.println(e.toString()); 
       } 
      } else { 
       System.out.println("Passed empty string... not decrypted."); 
      } 
     } else { 
      System.out.println("This program requires and encrypted text input."); 
     } 
    } 
} 

回答

2

固定!!發現我使用的輸入字符串並不是第一個有效的加密字符串!首先運行你的腳本加密,複製並過去一個字符串,然後運行解密對該字符串...