<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Ops运维 | Mr`kang Blog｜小豆子]]></title> 
<link>https://www.cnmysql.com/index.php</link> 
<description><![CDATA[关注服务器运维技术、DB优化、Docker虚拟化、自动化运维、工作积累]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Ops运维 | Mr`kang Blog｜小豆子]]></copyright>
<item>
<link>https://www.cnmysql.com/post//</link>
<title><![CDATA[Linux命令行生成随机密码的十种方法]]></title> 
<author>kangyang &lt;kangyang315@qq.com&gt;</author>
<category><![CDATA[LINUX系统管理]]></category>
<pubDate>Wed, 06 Aug 2014 06:23:46 +0000</pubDate> 
<guid>https://www.cnmysql.com/post//</guid> 
<description>
<![CDATA[ 
	<span style="color: #4B0082;"><span style="font-size: 12px;"><span style="font-family: 宋体;">Linux操作系统的一大优点是对于同样一件事情，你可以使用高达数百种方法来实现它。例如，你可以通过数十种方法来生成随机密码。本文将介绍生成随机密码的十种方法。<br/>生成一个随机密码<br/>对于下面的任何一种方法，你可以通过简单的修改来生成特定长度的密码，或者只使用其输出结果的前N位。希望你正在使用一些类似于LastPass的密码管理器，这样你就不用自己记住这些随机生成的密码了。<br/>1. 这种方法使用SHA算法来加密日期，并输出结果的前32个字符：<br/><div class="code">date +%s &#124; sha256sum &#124; base64 &#124; head -c 32 ; echo</div><br/>2. 这种方法使用内嵌的/dev/urandom，并过滤掉那些日常不怎么使用的字符。这里也只输出结果的前32个字符：<br/><div class="code">&lt; /dev/urandom tr -dc _A-Z-a-z-0-9 &#124; head -c$&#123;1:-32&#125;;echo;</div><br/>3. 这种方法使用openssl的随机函数。如果你的系统也许没有安装openssl，你可以尝试其它九种方法或自己安装openssl。<br/><div class="code">openssl rand -base64 32</div><br/>4. 这种方法类似于之前的urandom，但它是反向工作的。Bash的功能是非常强大的！<br/><div class="code">tr -cd &#039;&#91;:alnum:&#93;&#039; &lt; /dev/urandom &#124; fold -w30 &#124; head -n1</div><br/>5. 这种方法使用string命令，它从一个文件中输出可打印的字符串：<br/><div class="code">strings /dev/urandom &#124; grep -o &#039;&#91;&#91;:alnum:&#93;&#93;&#039; &#124; head -n 30 &#124; tr -d &#039;&#92;n&#039;; echo</div><br/>6. 这是使用urandom的一个更简单的版本：<br/><div class="code">&lt; /dev/urandom tr -dc _A-Z-a-z-0-9 &#124; head -c6 </div><br/>7. 这种方法使用非常有用的dd命令：<br/><div class="code">dd if=/dev/urandom bs=1 count=32 2&gt;/dev/null &#124; base64 -w 0 &#124; rev &#124; cut -b 2- &#124; rev</div><br/>8. 你甚至可以生成一个只用左手便可以输入的密码：<br/><div class="code">&lt;/dev/urandom tr -dc &#039;12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB&#039; &#124; head -c8; echo &quot;&quot;</div><br/>9. 如果每次都使用上述某种方法，那更好的办法是将它保存为函数。如果这样做了，那么在首次运行命令之后，你便可以在任何时间只使用randpw就可以生成随机密码。或许你可以把它保存到你的~/.bashrc文件里面。<br/><div class="code">randpw()&#123; &lt; /dev/urandom tr -dc _A-Z-a-z-0-9 &#124; head -c$&#123;1:-16&#125;;echo;&#125;</div><br/>10. 最后这种生成随机密码的方法是最简单的。它同样也可以在安装了Cygwin的Windows下面运行。在Mac OS X下或许也可以运行。我敢肯定会有人抱怨这种方法生成的密码没有其它方法来的随机。但实际上如果你使用它生成的全部字符串作为密码，那这个密码就足够随机了。<br/><div class="code">date &#124; md5sum</div><br/>是的，这种方法也极其好记。</span></span></span>
]]>
</description>
</item><item>
<link>https://www.cnmysql.com/post//#blogcomment</link>
<title><![CDATA[[评论] Linux命令行生成随机密码的十种方法]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://www.cnmysql.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>