Как к base64 кодируют/dev/random или/dev/urandom?

JSON является собственным кодированием для JavaScript. Это должно быть намного быстрее и легче работать с.

44
задан Phil Ross 4 February 2014 в 12:07
поделиться

5 ответов

А что насчет чего-то вроде

cat /dev/urandom | base64

Что дает (много) чего-то вроде

hX6VYoTG6n+suzKhPl35rI+Bsef8FwVKDYlzEJ2i5HLKa38SLLrE9bW9jViSR1PJGsDmNOEgWu+6
HdYm9SsRDcvDlZAdMXAiHBmq6BZXnj0w87YbdMnB0e2fyUY6ZkiHw+A0oNWCnJLME9/6vJUGsnPL
TEw4YI0fX5ZUvItt0skSSmI5EhaZn09gWEBKRjXVoGCOWVlXbOURkOcbemhsF1pGsRE2WKiOSvsr
Xj/5swkAA5csea1TW5mQ1qe7GBls6QBYapkxEMmJxXvatxFWjHVT3lKV0YVR3SI2CxOBePUgWxiL
ZkQccl+PGBWmkD7vW62bu1Lkp8edf7R/E653pi+e4WjLkN2wKl1uBbRroFsT71NzNBalvR/ZkFaa
2I04koI49ijYuqNojN5PoutNAVijyJDA9xMn1Z5UTdUB7LNerWiU64fUl+cgCC1g+nU2IOH7MEbv
gT0Mr5V+XAeLJUJSkFmxqg75U+mnUkpFF2dJiWivjvnuFO+khdjbVYNMD11n4fCQvN9AywzH23uo
03iOY1uv27ENeBfieFxiRwFfEkPDgTyIL3W6zgL0MEvxetk5kc0EJTlhvin7PwD/BtosN2dlfPvw
cjTKbdf43fru+WnFknH4cQq1LzN/foZqp+4FmoLjCvda21+Ckediz5mOhl0Gzuof8AuDFvReF5OU

Или без (бесполезного) cat + pipe:

base64 /dev/urandom

(Такой же вывод ^^)


РЕДАКТИРОВАТЬ: вы также можете использовать параметр - wrap для base64 , чтобы избежать «коротких строк»:

base64 --wrap=0 /dev/urandom

Это удалит перенос, и вы будет "полноэкранный" дисплей ^^

67
ответ дан 26 November 2019 в 21:57
поделиться

Итак, что не так с

cat /dev/urandom | uuencode -

?

Исправлено после того, как первая попытка фактически не сработала ... :: sigh ::

Кстати - Многие утилиты unix используйте '-' вместо имени файла, чтобы обозначить «использовать стандартный ввод».

5
ответ дан 26 November 2019 в 21:57
поделиться

Ряд людей предложили cat ting и piping через base64 или uuencode . Одна из проблем заключается в том, что вы не можете контролировать, сколько данных нужно читать (это будет продолжаться вечно или пока вы не нажмете ctrl + c). Другая возможность - использовать команду dd , которая позволит вам указать, сколько данных следует читать перед выходом. Например, для чтения 1kb:

dd if=/dev/urandom bs=1k count=1 2>/dev/null | base64

Другой вариант - передать по конвейеру команду strings , которая может дать больше разнообразия в ее выводе (непечатаемые символы отбрасываются, любые запуски минимум 4 печатных символов [by по умолчанию] отображаются). Проблема со строками заключается в том, что каждый "запуск" отображается в отдельной строке.

dd if=/dev/urandom bs=1k count=1 2>/dev/null | strings

(конечно, вы можете заменить всю команду на

strings /dev/urandom

, если не Я не хочу, чтобы это когда-либо прекратилось).

Если вы хотите чего-то действительно интересного, попробуйте одно из:

cat -v /dev/urandom
dd if=/dev/urandom bs=1k count=1 2>/dev/null | cat -v
21
ответ дан 26 November 2019 в 21:57
поделиться

Вы можете сделать более интересное вещи с каналами FIFO BASH:

uuencode <(head -c 200 /dev/urandom | base64 | gzip)
1
ответ дан 26 November 2019 в 21:57
поделиться

Попробуйте

xxd -ps /dev/urandom

xxd (1)

-2
ответ дан 26 November 2019 в 21:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: