我正在使用 Jasypt 的 CLI 来测试加密和解密。加密对所有算法都是成功的,但对于更强的算法解密失败。这是PBEWithMD5AndDES的加密和解密:
加密:
prakash@prakash:~$ java -cp ~/.m2/repository/org/jasypt/jasypt/1.9.2/jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI password=secret algorithm=PBEWITHMD5ANDDES input=encryptThis
----ENVIRONMENT-----------------
Runtime: Oracle Corporation OpenJDK 64-Bit Server VM 11.0.2+9-Ubuntu-3ubuntu118.04.3
----ARGUMENTS-------------------
input: encryptThis
password: secret
algorithm: PBEWITHMD5ANDDES
----OUTPUT----------------------
pZRJ9Egt+OcjBX28cSJUYDbvqiKIUVxR
Run Code Online (Sandbox Code Playgroud)
解密:
prakash@prakash:~$ java -cp ~/.m2/repository/org/jasypt/jasypt/1.9.2/jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI password=secret algorithm=PBEWITHMD5ANDDES input=pZRJ9Egt+OcjBX28cSJUYDbvqiKIUVxR
----ENVIRONMENT-----------------
Runtime: Oracle Corporation OpenJDK 64-Bit Server VM 11.0.2+9-Ubuntu-3ubuntu118.04.3
----ARGUMENTS-------------------
input: pZRJ9Egt+OcjBX28cSJUYDbvqiKIUVxR
password: secret
algorithm: PBEWITHMD5ANDDES
----OUTPUT----------------------
encryptThis
Run Code Online (Sandbox Code Playgroud)
现在,如果我将算法更改为PBEWITHHMACSHA1ANDAES_128,则结果如下:
加密:
prakash@prakash:~$ java -cp ~/.m2/repository/org/jasypt/jasypt/1.9.2/jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI password=secret algorithm=PBEWITHHMACSHA1ANDAES_128 input=encryptThis
----ENVIRONMENT-----------------
Runtime: Oracle Corporation …Run Code Online (Sandbox Code Playgroud) 很长时间之后,我刚刚拿起我的Ubuntu机器进行一些与Java相关的工作,发现我已经安装了Java,但没有javac。
我用主要方法和简单的打印语句制作了一个Test.java文件。我在终端中写道:
java Test.java
Run Code Online (Sandbox Code Playgroud)
我希望没有javac,它不应编译和运行,但是它将输出打印在我的控制台上。然后,我安装了一个JDK来启用javac并运行它:
javac Test.java
Run Code Online (Sandbox Code Playgroud)
这创建了一个Test.class文件。仍然要运行Test类,我需要输入内容,java Test.java并在输入java Test时抛出java.lang.NoClassDefFoundError。
有人可以向我解释这些命令的背景如何吗?编辑:这是我的Test.java的内容:
package Learning;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello World!");
}
}
Run Code Online (Sandbox Code Playgroud)