首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编码/dev/ base64或/dev/urandom?

如何编码/dev/ base64或/dev/urandom?
EN

Stack Overflow用户
提问于 2009-08-08 23:33:32
回答 7查看 53.2K关注 0票数 45

cat /dev/urandom始终是在显示器上创建滚动字符的一种有趣的方式,但会产生太多不可打印的字符。

有没有一种简单的方法可以在命令行上对它进行编码,使它的所有输出都是可读字符,例如base64或uuencode。

请注意,我更喜欢不需要创建其他文件的解决方案。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-08-08 23:36:46

像这样的东西怎么样

代码语言:javascript
复制
cat /dev/urandom | base64

这给了(很多)类似这样的东西

代码语言:javascript
复制
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:

代码语言:javascript
复制
base64 /dev/urandom

(同类输出^^ )

编辑:您也可以使用base64--wrap选项,以避免出现“短行”:

代码语言:javascript
复制
base64 --wrap=0 /dev/urandom

这将删除换行,您将获得“全屏”显示^^

票数 68
EN

Stack Overflow用户

发布于 2009-08-08 23:58:14

许多人建议通过base64uuencode进行cat和管道。这样做的一个问题是,你无法控制读取多少数据(它将永远持续下去,或者直到你点击ctrl+c)。另一种可能是使用dd命令,该命令允许您指定在退出之前要读取多少数据。例如,要读取1kb:

代码语言:javascript
复制
dd if=/dev/urandom bs=1k count=1 2>/dev/null | base64

另一种选择是通过管道连接到strings命令,该命令可以在其输出中提供更多的变化(不可打印的字符将被丢弃,默认情况下将显示至少4个可打印字符的任何运行)。strings的问题是它在自己的行上显示每个“运行”。

代码语言:javascript
复制
dd if=/dev/urandom bs=1k count=1 2>/dev/null | strings

(当然,您可以将整个命令替换为

代码语言:javascript
复制
strings /dev/urandom

如果你不想它停止的话)。

如果你想要一些非常时髦的东西,试试以下其中之一:

代码语言:javascript
复制
cat -v /dev/urandom
dd if=/dev/urandom bs=1k count=1 2>/dev/null | cat -v
票数 22
EN

Stack Overflow用户

发布于 2009-08-08 23:36:19

那么,有什么问题呢?

代码语言:javascript
复制
cat /dev/urandom | uuencode -

修复了第一次尝试实际上不起作用后...::叹息::

顺便说一句,许多unix实用程序使用'-‘代替文件名来表示“使用标准输入”。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1250144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档