Base64解码中的异常?

时间:2016-02-06 22:25:07

标签: java encryption nullpointerexception

我在解码文本文件时遇到了问题。

加密有效,但重新启动程序时,解密会引发异常。 Exception抛出了相同的apache.common.Base64。 也许有人知道如何解决这个问题?

private String decrypt(String encrypted) throws Exception {
    Cipher cipher = getCipher(Cipher.DECRYPT_MODE);
    //byte[] plainBytes = cipher.doFinal(Base64.decodeBase64(encrypted));

    /*this line throw an exception*/                                      
    byte[] plainBytes = cipher.doFinal(Base64.getDecoder().decode(encrypted));

    return new String(plainBytes);
}

private Cipher getCipher(int cipherMode) throws Exception {
    String encryptionAlgorithm = "AES";
    SecretKeySpec keySpecification = new SecretKeySpec(
            encryptionKey.getBytes("UTF-8"), encryptionAlgorithm);
    Cipher cipher = Cipher.getInstance(encryptionAlgorithm);
    cipher.init(cipherMode, keySpecification);

    return cipher;
}




Exception in thread "main" java.lang.NullPointerException
at java.util.Base64$Decoder.decode(Base64.java:549)
at edmaker.EdMaker.decrypt(EdMaker.java:148)

听javadebug 无法提交断点MethodBreakpoint [fsiteratetest.FsIterateTest $ 1] .visitFile'(Ljava / nio / file / Path; LBasicFileAttributes;)Ljava / nio / file / FileVisitResult;',原因:断点属于禁用的源root' C:\ Users \ win7p \ Documents \ NetBeansProjects \ FsIterateTest \ src'。请参见窗口/调试/源。 用户程序正在运行 用户程序已停止 调试器在无法编译的源代码上停止。 用户程序正在运行 用户程序完成

0 个答案:

没有答案