关于加密解密的问题(帮我看下我下面的那里写错了,为什么解密完打印的还是乱码)

import java.security.NoSuchAlgorithmException;


import javax.crypto.BadPaddingException;

import javax.crypto.Cipher;

import javax.crypto.IllegalBlockSizeException;

import javax.crypto.KeyGenerator;

import javax.crypto.KeyGeneratorSpi;

import javax.crypto.NoSuchPaddingException;

import javax.crypto.SecretKey;

import javax.security.auth.kerberos.KerberosKey;

import javax.tools.JavaCompiler;


public class MyJavaDES {

public static void main(String[] args) {

Cipher c;

MyJavaDES jd = new MyJavaDES();

String str ="激发愤怒典故";

try {

c = Cipher.getInstance("DES");

KeyGenerator Keygen;

Keygen = KeyGenerator.getInstance("DES");

SecretKey desKey;

desKey = Keygen.generateKey();

c.init(Cipher.ENCRYPT_MODE,desKey );

byte[] src = str.getBytes();

byte[] CipherByte1;

CipherByte1 = c.doFinal(src);

System.out.println("加密以后"+new String(CipherByte1));

c.init(Cipher.ENCRYPT_MODE,desKey );

byte[] CipherByte2;

CipherByte2 = c.doFinal(CipherByte1);

System.out.println("解密以后"+new String(CipherByte2));

}catch (InvalidKeyException e){

e.printStackTrace();

}catch (IllegalBlockSizeException e){

e.printStackTrace();

}catch (BadPaddingException e){

e.printStackTrace();

}catch (NoSuchAlgorithmException e){

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

}

}

}


青争SHINIAN
浏览 1816回答 1
1回答

笑添堂

小伙子认真点,第二个c.init() 参数错了 粘贴的吧 c.init(Cipher.DECRYPT_MODE,desKey ); byte[] CipherByte2; CipherByte2 = c.doFinal(CipherByte1);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java