Как использовать openssl для base 64 decode? - PullRequest
0 голосов
/ 05 июля 2010

Я занимаюсь разработкой на C ++ с использованием Boost.Asio. Я хочу иметь возможность декодировать данные с помощью base64, и поскольку Boost.Asio ссылается на openssl, я хочу использовать его функции для этого и не добавлять дополнительную зависимость (например, crypto ++). Я нашел этот код здесь , который показывает, как это сделать. (изменить int finalLen = BIO_read (bmem, (void *) pOut, outLen ); на inLen )

Я не знаю, работает ли это. Я просто передаю ему некоторые тестовые данные, которые я проверяю с помощью онлайн-декодера, найденного здесь (2) (выберите декодировать безопасно как текст и посчитайте символы). Вот строка теста, которую я использую: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA =" (без ""). И онлайн-декодер, и быстрая реализация crypto ++ возвращают 23 символа. Но код, который я упомянул выше с использованием openssl, возвращает 0. Я что-то не так делаю? Подходит ли openssl для декодирования base64? Пожалуйста, предоставьте мне решение (если оно существует). Спасибо за ваше время.

1 Ответ

0 голосов
/ 06 июля 2010

pff прости мою ошибку. Я забыл выделить память для pOut . Кажется, код работает сейчас.

...