'\" te .\" Portions Copyright (c) 2008, 2015, Oracle and/or its affiliates.All rights reserved. .\" Copyright 1989 AT&T .TH makekey 1 "2015 年 6 月 2 日" "SunOS 5.11" "用户命令" .SH 名称 makekey \- 生成加密密钥 .SH 用法概要 .LP .nf \fB/usr/lib/makekey\fR .fi .SH 描述 .LP 注 - .sp .RS 2 makekey(1) 已过时,可能会在将来的 Oracle Solaris 发行版中被删除。请改用 pwhash(1)。 .RE .sp .LP \fBmakekey\fR 通过增加搜索密钥空间所需的时间量来提高依赖于密钥的加密方案的可用性。它会尝试为其 \fIkey\fR 读取 8 个字节(前八个输入字节),然后尝试为其 \fIsalt\fR 读取 2 个字节(最后两个输入字节)。输出取决于采用一种目的在于难以计算(即需要大量的时间)的方式所进行的输入。 .sp .LP 前八个输入字节 (\fIinput key\fR) 可以是任意的 \fBASCII\fR 字符。最后两个 (\fIsalt\fR) 是从数字集、\fB\&.\fR、\fB/\fR、大写和小写字母当中最佳选择出的。salt 字符会作为输出的前两个字符重复。其余的 11 个输出字符是从与 \fIsalt\fR 相同的集合中选择的,并且构成了 \fIoutput key\fR。 .sp .LP 执行的转换基本上如下:\fIsalt\fR 用于从全部基于美国国家标准局 \fBDES\fR 算法但分为 4096 种不同方式的 4096 台机密计算机中选择一台。使用 \fIinput\fR\fI key\fR 作为密钥,将一个常量字符串馈送到该计算机中并且循环多次。 得到的 64 位会在结果中分发到 66 个 \fIoutput\fR \fIkey\fR 位中。 .sp .LP \fBmakekey\fR 适用于执行加密的程序。它的输入和输出通常为管道。 .SH 另请参见 .sp .LP \fBpwhash\fR(1)、\fBed\fR(1)、\fBvi\fR(1)、\fBpasswd\fR(4) .SH 附注 .sp .LP \fBmakekey\fR 可根据输入是在终端键入还是从文件重定向而生成不同结果。