Java 对称加密不是';行不通
我正在尝试生成密文和解密数据。我已经分配了我的incrypted值和键。但当我在netbeans中运行程序时,它在执行区域显示错误,但不会生成密码文本和解密数据 Encryption.java:Java 对称加密不是';行不通,java,encryption,Java,Encryption,我正在尝试生成密文和解密数据。我已经分配了我的incrypted值和键。但当我在netbeans中运行程序时,它在执行区域显示错误,但不会生成密码文本和解密数据 Encryption.java: package encryption; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; public class Encryption { private static byte[] message;
package encryption;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
public class Encryption {
private static byte[] message;
public static void main(String[] args) throws Exception {
byte[] message = {0, 0, 1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 2, 3, 8, 9};
byte[] key = {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4};
byte[] ciphertext;
byte[] decrypted;
Sender s = new Sender();
s.send(message);
Receiver r = new Receiver();
r.receive(message);
// TODO code application logic here
}
}
Sender.java:
package encryption;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
public class Sender {
private Cipher encoder;
private SecretKeySpec myKey;
public Sender() throws Exception {
encoder = Cipher.getInstance("AES");
}
public void setKey(byte[] key) throws Exception {
myKey = new SecretKeySpec(key, "AES");
encoder.init(Cipher.ENCRYPT_MODE, myKey);
}
public byte[] send(byte[] message) throws Exception {
return encoder.doFinal(message);
}
}
Receiver.java:
package encryption;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
public class Receiver {
private Cipher decoder;
private SecretKeySpec myKey;
public Receiver()throws Exception{
decoder=Cipher.getInstance("AES");
}
public void setKey(byte[] key) throws Exception{
myKey= new SecretKeySpec(key ,"AES");
decoder.init(Cipher.DECRYPT_MODE, myKey);
}
public byte[] receive(byte[] message) throws Exception{
return decoder.doFinal(message);
}
}
“它显示了错误”?提示:使用
s.send(message)的返回值
call.marko topolnik,错误如下:线程“main”java.lang.IllegalStateException中的异常:在javax.crypto.Cipher.checkCipherState(Cipher.java:1672)在javax.crypto.Cipher.doFinal(Cipher.java:2079)在encryption.Sender.send(Sender.java:22)在encryption.encryption.main(encryption.java:23)中未初始化密码Java结果:1错误消息没有告诉您出了什么问题吗?它告诉您密码未初始化。那么,在使用密码之前,您是否调用了init()?不,你没有。我没有看到任何静脉注射