我正在用Java编写一个需要对字符串进行加密和解密的程序。我使用的是来自Jasypt的BasicTextEnctyptor。这是一个复杂的应用程序-使用异步网络之类的东西。加密在服务器和客户端之间进行。但每次我同时运行这两个程序时,我最终都会得到一个org.jasypt.exceptions.EncryptionOperationNotPossibleException。由于这个应用程序的复杂性,我尝试创建一个简单的类:
import org.jasypt.util.text.BasicTextEncryptor;
public class test {
public static void main(String[] args) {
String text = "LEMONS";
String key = "keykeykey";
BasicTextEncryptor encryptor = new BasicTextEncryptor();
encryptor.setPassword(key);
String encrypted = encryptor.encrypt(text);
System.out.println(encrypted);
encrypted = encryptor.decrypt(text);
System.out.println(encrypted);
}
}下面是它导致的异常的堆栈跟踪:
6rn3OyR9zsfmd4OfnskSEQ==
Exception in thread "main" org.jasypt.exceptions.EncryptionOperationNotPossibleException
at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.decrypt(StandardPBEByteEncryptor.java:918)
at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.decrypt(StandardPBEStringEncryptor.java:725)
at org.jasypt.util.text.BasicTextEncryptor.decrypt(BasicTextEncryptor.java:112)
at test.main(test.java:11)所以..。这是怎么回事?基本的加密应该工作得很好。我觉得如果这个问题解决了,那么主应用程序中的问题也可以用同样的方式解决。
发布于 2013-06-07 02:23:37
encrypted = encryptor.decrypt(text);因为文本是明文,所以没有什么需要解密的.这个异常只是说...
https://stackoverflow.com/questions/16968875
复制相似问题