gpt4 book ai didi

java - Java中AES的解密

转载 作者:行者123 更新时间:2023-12-02 00:48:55 24 4
gpt4 key购买 nike

法语:slt,注释 je peut faire le dechiffrement en utilisant AES c'est mon code:
英语:你好,请问如何使用 AES 进行解密?这是我的代码:

public class NewClass1{

private Key key;

private void generateKey() throws NoSuchAlgorithmException{
KeyGenerator generator;
generator = KeyGenerator.getInstance("AES");
generator.init(new SecureRandom());
key = generator.generateKey();
}

private String decrypt(String encrypted) throws InvalidKeyException,
NoSuchAlgorithmException,
NoSuchPaddingException,
IllegalBlockSizeException,
BadPaddingException,
IOException{

Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.DECRYPT_MODE, key);
BASE64Decoder decoder = new BASE64Decoder();
byte[] raw = decoder.decodeBuffer(encrypted);
byte[] stringBytes = cipher.doFinal(raw);
// converts the decoded message to a String
String clear = new String(stringBytes);
return clear;
}

public NewClass1(String encrypted){
try{
System.out.println("encrypted message: " + encrypted);
generateKey();
String decrypted = decrypt(encrypted);
System.out.println("decrypted message: " + decrypted);
} catch(NoSuchAlgorithmException e){
e.printStackTrace();
} catch(NoSuchPaddingException e){
e.printStackTrace();
} catch(InvalidKeyException e){
e.printStackTrace();
} catch(UnsupportedEncodingException e){
e.printStackTrace();
} catch(IllegalBlockSizeException e){
e.printStackTrace();
} catch(BadPaddingException e){
e.printStackTrace();
} catch(IOException e){
e.printStackTrace();
}
}

public static void main(String[] args){
new NewClass1("vbfhdhhhjhtrrrrrrrrrrrrrrjrdfes");
}
}

最佳答案

这里的一些非常基础的知识是错误的。您的代码意味着“vbfhdhhhjhtrrrrrrrrrrrrrrjrdfes”是 AES 加密结果的 base64 编码。它不是。您的代码还会生成一个随机解密 key 。那是行不通的。我建议从一些 Wikipedia articles on encryption 开始.

关于java - Java中AES的解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4008062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com