java - 如何返回超过 1 个值的字符串?

标签 java string encryption

我是这里的新手,需要一些帮助。我这里有一个用于解密数据的代码。它正在工作意味着它可以解密数据,但问题是;它只能显示解密数据的 1 个值(第 29 行)而不是 3 个或更多取决于我想要它的方式(我如何让它也解密第 30 行和第 31 行的数据?)。下面我发布了我的问题的相关代码,希望这里的任何人都可以帮助我解决这个问题。

public class CipherUtils
{
static Log log = LogFactory.getLog(CipherUtils.class);
    private static byte[] key = "xxxxxx".getBytes();
    private static byte[] iv = "xxxxxx".getBytes();

public static String decrypt(String strToDecrypt)
{
    try
    {
        //Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5PADDING");
        Cipher cipher = Cipher.getInstance("aes/cbc/nopadding");
        final SecretKeySpec secretKey = new SecretKeySpec(key, "AES");
        IvParameterSpec ips = new IvParameterSpec(iv);
        //cipher.init(Cipher.DECRYPT_MODE, secretKey);
        cipher.init(Cipher.DECRYPT_MODE, secretKey,ips);
        final String decryptedString = new String(cipher.doFinal(Base64.decodeBase64(strToDecrypt)));
        return decryptedString.trim();
    }
    catch (Exception e)
    {
        log.error("Error while decrypting : " + strToDecrypt , e);
    }
    return null;
}

public static void main(String args[]) throws Exception
{
    String a = CipherUtils.decrypt("yXTVA6oG4kWOlvfKN/qXwa3VgEyiBu4kkgKh9WHt0s8="
                                  ,"yX7JI7IaExK3eBC6BU5RdCvkCrAAcyV3YTmHqYH5nG0="                                               
                                  ,"yj56tfZEh3405yEwladp+ml/nk/h8Cx56XnP5Ycdeio=");
    System.out.println(">>>"+a.trim());
}
}

提前致谢。

最佳答案

您的方法 decrypt 只接受一个参数(名为 strToDecrypt),但您传递了三个。

您可以在这里做几件事,最简单的方法是简单地调用 decrypt 3 次,每次使用不同的字符串。 您也可以重写列表以迭代列表。

http://www.tutorialspoint.com/java/java_using_iterator.htm

关于java - 如何返回超过 1 个值的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20211995/

相关文章:

c - 从第二个字开始的文件行中的数字求和 - C 编程

java - 通过 ; 分割字符串然后比较值

Java加密/解密到Ruby

Java:如何创建一个通过交换字符对来加密行的程序?

java - 简单的Java数组程序

Java 移动 JFrames 断断续续的运动

java - 创建字典 : Method to prevent the same word from being added more than once

c# - 时间跨度字符串格式

javascript - 如何让 window.crypto.subtle 输出与 'crypto' js 库相同的签名?

java - 方面和方法之间有什么区别? [AOP]