import sun.misc.BASE64Encoder приводит к ошибке, скомпилированной в Eclipse - PullRequest
60 голосов
/ 05 апреля 2011

Для этих двух импортов;

import sun.misc.BASE64Encoder;
import sun.misc.BASE64Decoder;

Я получил эту ошибку:

Access restriction: The type BASE64Decoder is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar

Как я могу устранить эту ошибку?

Ответы [ 12 ]

0 голосов
/ 14 марта 2017

Эта ошибка из-за того, что вы импортируете ниже двух классов import sun.misc.BASE64Encoder;import sun.misc.BASE64Decoder;. Maybe you are using encode and decode of that library like below.

new BASE64Encoder().encode(encVal);
newBASE64Decoder().decodeBuffer(encryptedData);

Да, вместо sun.misc.BASE64Encoder вы можете импортировать java.util.Base64 class . Теперь измените предыдущий метод кодированиякак показано ниже

encryptedData=Base64.getEncoder().encodeToString(encryptedByteArray);

Теперь измените предыдущий метод декодирования, как показано ниже:

byte[] base64DecodedData = Base64.getDecoder().decode(base64EncodedData);

Теперь все готово, вы можете сохранить вашу программу и запустить.Он будет работать без каких-либо ошибок.

0 голосов
/ 20 августа 2015

Я знаю, что это очень старый пост.Поскольку у нас нет ничего от sun.misc в maven, мы можем легко использовать

StringUtils.newStringUtf8 (Base64.encodeBase64 (encVal));Из org.apache.commons.codec.binary.Base64

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...