GNU/Linux >> Linux Esercitazione >  >> Linux

Come codificare in base64 /dev/random o /dev/urandom?

Allora, cosa c'è di sbagliato in

cat /dev/urandom | uuencode -

?

Risolto dopo che il primo tentativo in realtà non ha funzionato... ::sigh::

A proposito, molte utility unix usano '-' al posto di un nome file per indicare "usa lo standard input".


Diverse persone hanno suggerito cat ting e pipe attraverso base64 o uuencode . Un problema con questo è che non puoi controllare la quantità di dati da leggere (continuerà per sempre o fino a quando non premi ctrl + c). Un'altra possibilità è usare il dd comando, che ti permetterà di specificare quanti dati leggere prima di uscire. Ad esempio, per leggere 1kb:

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

Un'altra opzione è reindirizzare al strings comando che può dare più varietà nel suo output (i caratteri non stampabili vengono scartati, vengono visualizzate tutte le sequenze di almeno 4 caratteri stampabili [per impostazione predefinita]). Il problema con strings è che visualizza ogni "run" sulla propria riga.

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

(ovviamente puoi sostituire l'intero comando con

strings /dev/urandom

se non vuoi che si fermi mai).

Se vuoi qualcosa di veramente funky, prova uno di:

cat -v /dev/urandom
dd if=/dev/urandom bs=1k count=1 2>/dev/null | cat -v

Che ne dici di qualcosa come

cat /dev/urandom | base64

Il che dà (molte) cose come

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

Oppure, senza l'(inutile) cat+pipe :

base64 /dev/urandom

(Stesso tipo di output ^^ )


MODIFICA : puoi anche utilizzare il --wrap opzione di base64 , per evitare di avere "linee corte" :

base64 --wrap=0 /dev/urandom

Questo rimuoverà il wrapping e otterrai la visualizzazione "a schermo intero" ^^


Linux
  1. Come mappare il dispositivo /dev/sdX e /dev/mapper/mpathY dal dispositivo /dev/dm-Z

  2. Come si scambia /dev/sda con /dev/sdb?

  3. Quando dovrei usare /dev/shm/ e quando dovrei usare /tmp/?

  4. Linux:differenza tra /dev/console , /dev/tty e /dev/tty0

  5. kernel:disabilitare /dev/kmem e /dev/mem

tty (/dev/tty ) vs pts (/dev/pts) in Linux

Linux:cosa significa la lettera "u" in /dev/urandom?

DD da /dev/zero a /dev/null... cosa succede realmente

Come Linux usa /dev/tty e /dev/tty0

echo o print /dev/stdin /dev/stdout /dev/stderr

Perché sono necessari < o > per usare /dev/tcp