0

我在我的 Web 应用程序的服务器代码中一次又一次地使用了这个代码或类似的东西,但现在我正在尝试制作一个命令行实用程序来与维护后端一起使用。

继续得到一个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.");
        }
    }
}
4

1 回答 1

2

固定的!!原来我使用的输入字符串一开始就不是有效的加密字符串!!首先使用加密运行脚本,复制并粘贴一个字符串,然后对该字符串运行解密...

于 2011-02-05T05:26:43.353 回答