⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crypt.html

📁 这是很好的学习嵌入式LINUX的文章
💻 HTML
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="generator" content="HTML Tidy, see www.w3.org" /><title>DES,MD5,以及Crypt</title><meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" /><link rel="HOME" title="FreeBSD 使用手册" href="index.html" /><link rel="UP" title="安全" href="security.html" /><link rel="PREVIOUS" title="确保FreeBSD的安全" href="securing-freebsd.html" /><link rel="NEXT" title="一次性口令" href="one-time-passwords.html" /><link rel="STYLESHEET" type="text/css" href="docbook.css" /><meta http-equiv="Content-Type" content="text/html; charset=GB2312" /></head><body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"alink="#0000FF"><div class="NAVHEADER"><table summary="Header navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><th colspan="3" align="center">FreeBSD 使用手册</th></tr><tr><td width="10%" align="left" valign="bottom"><a href="securing-freebsd.html"accesskey="P">后退</a></td><td width="80%" align="center" valign="bottom">章 14. 安全</td><td width="10%" align="right" valign="bottom"><a href="one-time-passwords.html"accesskey="N">前进</a></td></tr></table><hr align="LEFT" width="100%" /></div><div class="SECT1"><h1 class="SECT1"><a id="CRYPT" name="CRYPT">14.4. DES,MD5,以及Crypt</a></h1><i class="AUTHORGROUP"><span class="CONTRIB">部分重写、更新来自</span> Bill Swingle.</i> <p><span class="TRADEMARK">UNIX</span>&reg;系统上的每个用户都有一个与其帐户关联的口令。很显然,密码只需要被这个用户和操作系统知道。为了保证口令的私密性,使用了一种容易加密,却很难解密的被称作 ``单向散列''的方法来处理口令。换言之,我们刚刚说的那句话并不十分确切: 操作系统本身并不 <spanclass="emphasis"><i class="EMPHASIS">真的</i></span> 知道你的口令。 它只知道口令 <spanclass="emphasis"><i class="EMPHASIS">经过加密的形式</i></span>。 获取口令对应 ``明文''的唯一办法是采用暴力在口令可能的区间内穷举。</p><p>不幸的是,当 <span class="TRADEMARK">UNIX</span>刚刚出现时,安全地加密口令的唯一方法基于DES, 数据加密标准 ( the Data Encryption Standard)。 于是这给那些非美国居民带来了问题, 因为 DES的源代码在当时不能被出口到美国以外的地方, FreeBSD必须找到符合美国法律,但又要与其他那些使用 DES 的 <span class="TRADEMARK">UNIX</span>版本兼容的办法。</p><p>解决方案是把加密函数库分割为两个, 于是美国的用户可以安装并使用 DES 函数库,而国际用户则使用另外一套库提供的一种可以出口的加密算法。 这就是 FreeBSD 为什么使用 MD5作为它的默认加密算法的原因。 MD5 据信要比 DES 更安全,因此,安装 DES更多地是出于兼容目的。</p><div class="SECT2"><h2 class="SECT2"><a id="AEN18996" name="AEN18996">14.4.1. 识别你采用的加密算法</a></h2><p>在 FreeBSD&nbsp;4.4 之前,<tt class="FILENAME">libcrypt.a</tt> 曾经是一个指向相应加密算法的符号连接。FreeBSD&nbsp;4.4 开始,把 <ttclass="FILENAME">libcrypt.a</tt> 变成了一个可以配置的密码验证散列库。 现在这个库支持DES,MD5和Blowfish散列函数。默认情况下,FreeBSD 使用 MD5 来加密口令。</p><p>可以很容易地识别 FreeBSD 使用哪种加密方法。 检查 <ttclass="FILENAME">/etc/master.passwd</tt> 文件中的加密密码是一种方法。 用 MD5散列加密的密码通常要比用 DES 散列得到的长一些, 并且以 <var class="LITERAL">$1$</var>字符开始。 以 <var class="LITERAL">$2a$</var> 开始的口令是通过 Blowfish 散列函数加密的。DES 密码字符没有任何可以用于鉴别的特征, 但他们要比 MD5 短, 并且以不包括 <varclass="LITERAL">$</var> 在内的 64 个可显示字符来表示,因此相对比较短的、没有以美元符号开头的字符串很可能是一个 DES 口令。</p><p>新口令锁使用的密码格式是由 <tt class="FILENAME">/etc/login.conf</tt> 中的 <varclass="LITERAL">passwd_format</var> 来控制的, 可供选择的算法包括 <varclass="LITERAL">des</var>, <var class="LITERAL">md5</var> 和 <varclass="LITERAL">blf</var>。 请参考 <span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">login.conf</span>(5)</span> 联机帮助以获得更进一步的详情。</p></div></div><div class="NAVFOOTER"><hr align="LEFT" width="100%" /><table summary="Footer navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><td width="33%" align="left" valign="top"><a href="securing-freebsd.html"accesskey="P">后退</a></td><td width="34%" align="center" valign="top"><a href="index.html"accesskey="H">起点</a></td><td width="33%" align="right" valign="top"><a href="one-time-passwords.html"accesskey="N">前进</a></td></tr><tr><td width="33%" align="left" valign="top">确保FreeBSD的安全</td><td width="34%" align="center" valign="top"><a href="security.html"accesskey="U">上一级</a></td><td width="33%" align="right" valign="top">一次性口令</td></tr></table></div></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -