gpt4 book ai didi

java - javax.crypto.Cipher 的问题。解密字符串中的某些字符被破坏

转载 作者:行者123 更新时间:2023-12-01 16:08:03 26 4
gpt4 key购买 nike

当我对长字符串使用(加密/解密)javax.crypto.Cipher 类时,输出字符串中的某些字符无效。

//ecnryption
byte[] inputBytes = str.getBytes();
cypheredBytes = cipher.doFinal(inputString, 0, inputBytes, outputBytes, 0);
return new String(outputBytes, 0, cypheredBytes);

//decryption
byte[] inputBytes = str.getBytes();
cypheredBytes = cipher.doFinal (inputBytes, 0, inputBytes.length, outputBytes, 0);
return new String(outputBytes, 0, cypheredBytes);

最佳答案

axtavt 是正确的。问题是您无法将任意字节数组 (cypheredBytes) 转换为字符串。如果您确实需要将其作为字符串(例如,通过线路发送),那么您需要将其转换为十六进制或 Base 64 之类的内容。您可以在 Commons Codecs 中找到每种类型的编解码器。

关于java - javax.crypto.Cipher 的问题。解密字符串中的某些字符被破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2266724/

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