我在我的网络应用程序的服务器代码中一次又一次使用此代码或类似内容,但现在我正在尝试使用命令行实用程序来处理维护后端。
继续获得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.");
}
}
}
答案 0 :(得分:2)
固定!!事实证明我使用的输入字符串不是有效的加密字符串!!首先使用加密,复制和过去字符串运行脚本,然后对该字符串运行解密...