Дополнительно
Base64 Java кодирует и декодирует строку
Я хочу закодировать строку в base64
, передать ее через сокет и декодировать обратно.
Но после декодирования он выдает другой ответ.
Ниже приведен мой код и результат: "77+9x6s="
import javax.xml.bind.DatatypeConverter;
public class f{
public static void main(String a[]){
String str = new String(DatatypeConverter.parseBase64Binary("user:123"));
String res = DatatypeConverter.printBase64Binary(str.getBytes());
System.out.println(res);
}
}
Есть идеи, как это реализовать?
149
6
Вы можете использовать следующий подход:
Надеюсь, это ответ на ваши сомнения.
В Java 8 теперь поддерживает кодирование и декодирование base64. Вы можете использовать следующие классы:
Ява.утиль.В base64
,Ява.утиль.В base64.Шифратор " и " Ява.утиль.В base64.Дешифратор
.Пример использования:
Принятый ответ использует сервер Apache общин, но это, как я сделал это с помощью Java'с родной библиотеки
Ява 11 и до
Ява 6 - 10
Лучше бы попробовать/поймать кодирования/декодирования шаги, но, надеюсь, вы поняли.
Для пользователей Spring, Spring Security имеет класс Base64 в пакете
org.springframework.security.crypto.codec
, который также может быть использован для кодирования и декодирования Base64. Например.Хорошим решением является следующее -
Вот и все. Однострочное кодирование и декодирование.