The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как закодировать в base64 длинную строку без переносов"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Как закодировать в base64 длинную строку без переносов"  +/
Сообщение от universite email(ok) on 27-Дек-12, 19:37 

$echo -n ${datas_json}| openssl enc -base64;
aGtqbG5sMTg3MjgiLCJlbWFpbCI6ImRzbGprZ2hkYWtmbGhnQHN1cHBvcnQub2Qu
dWEiLCJ1c2VybmFtZSI6InRlc3RfY3VybF8xIiwicGFzc3dvcmQiOiJ0ZXN0X2N1
cmxfMV8yMzg3NCIsImRhdGFHUFMiOiJPZGVzc2EsIFVrcmFpbmUiLCJtb2RlbF9w
aG9uZSI6IlNhbXN1bmcgR1RJODUwIiwib3NfdmVyc2lvbiI6IjQifQ==

$echo -n ${datas_json}| base64;
eyJhY3Rpb24iOiJyZWdpc3RlciIsIm1vYiI6ImN1cmwtdGVzdCIsIklNRUkiOiJqaGtqbG5s MTg3MjgiLCJlbWFpbCI6ImRzbGprZ2hkYWtmbGhnQHN1cHBvcnQub2QudWEiLCJ1c2VybmFt ZSI6InRlc3RfY3VybF8xIiwicGFzc3dvcmQiOiJ0ZXN0X2N1cmxfMV8yMzg3NCIsImRhdGFH UFMiOiJPZGVzc2EsIFVrcmFpbmUiLCJtb2RlbF9waG9uZSI6IlNhbXN1bmcgR1RJODUwIiwi b3NfdmVyc2lvbiI6IjQifQo=
5d69b5bf79a44659d7ff67bc5294435e

нужно получить неразрывную строку

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как закодировать в base64 длинную строку без переносов"  +/
Сообщение от Аноним (??) on 27-Дек-12, 19:41 
> нужно получить неразрывную строку

| tr -d '\n'

?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как закодировать в base64 длинную строку без переносов"  +/
Сообщение от universite email(ok) on 27-Дек-12, 19:56 
>> нужно получить неразрывную строку
> | tr -d '\n'
> ?

Не помогает в обоих случаях

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Как закодировать в base64 длинную строку без переносов"  +/
Сообщение от Andrey Mitrofanov on 27-Дек-12, 21:15 
>>> нужно получить неразрывную строку
>> | tr -d '\n'
>> ?
> Не помогает в обоих случаях

У тебя, наверное, FreeBSD и posix shell. У меня - нет, мне помогает

$ seq 1 100|recode ../b64|tr -d \\n

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Как закодировать в base64 длинную строку без переносов"  +/
Сообщение от universite email(ok) on 27-Дек-12, 21:46 
>>>> нужно получить неразрывную строку
>>> | tr -d '\n'
>>> ?
>> Не помогает в обоих случаях
> У тебя, наверное, FreeBSD и posix shell. У меня - нет, мне
> помогает
> $ seq 1 100|recode ../b64|tr -d \\n

datas_json_base64=`echo ${datas_json}| base64 |  tr -d \\n`

eyJhY3Rpb24iOiJyZWdpc3RlciIsIm1vYiI6ImN1cmwtdGVzdCIsIklNRUkiOiJqaGtqbG5s MTg3MjgiLCJlbWFpbCI6ImRzbGprZ2hkYWtmbGhQHN1cHBvcQub2QudWEiLCJ1c2VybmFt ZSI6IRlc3RfY3VybF8xIiwicGFzc3dvcmQiOiJ0ZXN0X2N1cmxfMV8yMzg3NCIsImRhdGFH UFMiOiJPZGVzc2EsIFVrcmFpbmUiLCJtb2RlbF9waG9uZSI6IlNhbXN1bmcgR1RJODUwIiwi b3NfdmVyc2lvbiI6IjQifQo=

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

13. "Как закодировать в base64 длинную строку без переносов"  +/
Сообщение от DeadLoco (ok) on 29-Дек-12, 15:46 
> У тебя, наверное, FreeBSD и posix shell. У меня - нет, мне
> помогает

Во фре `jot -rc 500 0 z | rs -g | openssl enc -base64 | tr -d '\n'` вполне себе помогает.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

14. "Как закодировать в base64 длинную строку без переносов"  +/
Сообщение от universite email(ok) on 29-Дек-12, 15:48 
>> У тебя, наверное, FreeBSD и posix shell. У меня - нет, мне
>> помогает
> Во фре `jot -rc 500 0 z | rs -g | openssl
> enc -base64 | tr -d '\n'` вполне себе помогает.

jot - башизм
я уже решил проблему.

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "Как закодировать в base64 длинную строку без переносов"  +/
Сообщение от DeadLoco (ok) on 29-Дек-12, 15:53 
> jot - башизм

Чочо?
man 1 jot - отдельностоящая утилита для генерации последовательностей, существующая с незапамятно мохнатых времен.

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

5. "Как закодировать в base64 длинную строку без переносов"  +/
Сообщение от XAnder (ok) on 27-Дек-12, 22:18 
> нужно получить неразрывную строку

base64 -w 0

не поможет?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Как закодировать в base64 длинную строку без переносов"  +/
Сообщение от universite email(ok) on 27-Дек-12, 22:33 
>> нужно получить неразрывную строку
>
base64 -w 0

> не поможет?

base64: illegal option -- w

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Как закодировать в base64 длинную строку без переносов"  +1 +/
Сообщение от pavlinux (ok) on 28-Дек-12, 00:13 
> base64: illegal option -- w


COMMON="echo -n ${datas_json} | openssl enc -base64"

1. eval ${COMMON} | awk '{printf $1}';
2. eval ${COMMON} | awk '{printf "%s ", $0}'
3. eval ${COMMON} | sed ':a;N;$!ba;s/\n/ /g';
4. eval ${COMMON} | perl -p -e 's/\n/ /';
5. eval ${COMMON} | paste -s -d ' ';
6. printf %s $(eval $COMMON);
...


Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Как закодировать в base64 длинную строку без переносов"  +/
Сообщение от universite email(ok) on 28-Дек-12, 00:52 
>[оверквотинг удален]
>
 
> COMMON="echo -n ${datas_json} | openssl enc -base64"
> 1. eval ${COMMON} | awk '{printf $1}';
> 2. eval ${COMMON} | awk '{printf "%s ", $0}'
> 3. eval ${COMMON} | sed ':a;N;$!ba;s/\n/ /g';
> 4. eval ${COMMON} | perl -p -e 's/\n/ /';
> 5. eval ${COMMON} | paste -s -d ' ';
> 6. printf %s $(eval $COMMON);
> ...
>

Первое, вроде, подошло.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Как закодировать в base64 длинную строку без переносов"  +/
Сообщение от pavlinux (ok) on 28-Дек-12, 02:42 
>[оверквотинг удален]
>> COMMON="echo -n ${datas_json} | openssl enc -base64"
>> 1. eval ${COMMON} | awk '{printf $1}';
>> 2. eval ${COMMON} | awk '{printf "%s ", $0}'
>> 3. eval ${COMMON} | sed ':a;N;$!ba;s/\n/ /g';
>> 4. eval ${COMMON} | perl -p -e 's/\n/ /';
>> 5. eval ${COMMON} | paste -s -d ' ';
>> 6. printf %s $(eval $COMMON);
>> ...
>>
> Первое, вроде, подошло.

Тока эта, смотри...

 
$ eval $COMMON | awk '{printf $1}'        | md5sum;
73bc8af60cf6d9eead1df41d03efd8d8  -
$ eval $COMMON | awk '{printf "%s", $0}'  | md5sum;
73bc8af60cf6d9eead1df41d03efd8d8  -
$ printf %s $(eval $COMMON)               | md5sum;
73bc8af60cf6d9eead1df41d03efd8d8  -
#
# Perl добавляет \x20 в конец, sed и paste - "\x0a"
#
$ eval $COMMON | perl -p -e 's/\n/ /'     | md5sum;
9f498b4d3f41452bf84d10e1364631e3  -
$ eval $COMMON | sed ':a;N;$!ba;s/\n/ /g' | md5sum;
dbd5f6df72937d4da33f3705ce6c1bde  -
$ eval $COMMON | paste -s -d ' '          | md5sum;
dbd5f6df72937d4da33f3705ce6c1bde  -

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

11. "Как закодировать в base64 длинную строку без переносов"  +/
Сообщение от universite email(ok) on 28-Дек-12, 18:01 
>[оверквотинг удален]
> #
> $ eval $COMMON | perl -p -e 's/\n/ /'    
>  | md5sum;
> 9f498b4d3f41452bf84d10e1364631e3  -
> $ eval $COMMON | sed ':a;N;$!ba;s/\n/ /g' | md5sum;
> dbd5f6df72937d4da33f3705ce6c1bde  -
> $ eval $COMMON | paste -s -d ' '    
>       | md5sum;
> dbd5f6df72937d4da33f3705ce6c1bde  -
>

Кроме первого способа, остальные не выкусывают пробелы.

как закодировать в base64 строку:
{"ID":"6","action":"favorite_list","password":"698d51a19d8a121ce581499d7b701668","mob":"android","favorite_user_id":"6"}

чтоб получить на выходе:

eyJJRCI6IjYiLCJhY3Rpb24iOiJmYXZvcml0ZV9saXN0IiwicGFzc3dvcmQiOiI2OThkNTFhMTlkOGExMjFjZTU4MTQ5OWQ3YjcwMTY2OCIsIm1vYiI6ImFuZHJvaWQiLCJmYXZvcml0ZV91c2VyX2lkIjoiNiJ9

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

12. "Как закодировать в base64 длинную строку без переносов"  +/
Сообщение от universite email(ok) on 28-Дек-12, 18:31 
>[оверквотинг удален]
>> dbd5f6df72937d4da33f3705ce6c1bde  -
>> $ eval $COMMON | paste -s -d ' '
>>       | md5sum;
>> dbd5f6df72937d4da33f3705ce6c1bde  -
>>
> Кроме первого способа, остальные не выкусывают пробелы.
> как закодировать в base64 строку:
> {"ID":"6","action":"favorite_list","password":"698d51a19d8a121ce581499d7b701668","mob":"android","favorite_user_id":"6"}
> чтоб получить на выходе:
> eyJJRCI6IjYiLCJhY3Rpb24iOiJmYXZvcml0ZV9saXN0IiwicGFzc3dvcmQiOiI2OThkNTFhMTlkOGExMjFjZTU4MTQ5OWQ3YjcwMTY2OCIsIm1vYiI6ImFuZHJvaWQiLCJmYXZvcml0ZV91c2VyX2lkIjoiNiJ9

сработало:


datas_json_base64=`echo -n ${datas_json} | base64 -e | awk '{printf $1}'`
datas_json_base64_md5=`echo -n ${datas_json_base64} | md5`

плюс синтаксис вызова curl подправил

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

10. "Как закодировать в base64 длинную строку без переносов"  +/
Сообщение от Денис (??) on 28-Дек-12, 06:09 
  -A  if the -a option is set then base64 process the data on one line


>[оверквотинг удален]
> dWEiLCJ1c2VybmFtZSI6InRlc3RfY3VybF8xIiwicGFzc3dvcmQiOiJ0ZXN0X2N1
> cmxfMV8yMzg3NCIsImRhdGFHUFMiOiJPZGVzc2EsIFVrcmFpbmUiLCJtb2RlbF9w
> aG9uZSI6IlNhbXN1bmcgR1RJODUwIiwib3NfdmVyc2lvbiI6IjQifQ==
> $echo -n ${datas_json}| base64;
> eyJhY3Rpb24iOiJyZWdpc3RlciIsIm1vYiI6ImN1cmwtdGVzdCIsIklNRUkiOiJqaGtqbG5s MTg3MjgiLCJlbWFpbCI6ImRzbGprZ2hkYWtmbGhnQHN1cHBvcnQub2QudWEiLCJ1c2VybmFt
> ZSI6InRlc3RfY3VybF8xIiwicGFzc3dvcmQiOiJ0ZXN0X2N1cmxfMV8yMzg3NCIsImRhdGFH UFMiOiJPZGVzc2EsIFVrcmFpbmUiLCJtb2RlbF9waG9uZSI6IlNhbXN1bmcgR1RJODUwIiwi
> b3NfdmVyc2lvbiI6IjQifQo=
> 5d69b5bf79a44659d7ff67bc5294435e
>
> нужно получить неразрывную строку

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру