crypt() - ストリング・エンコード関数

規格

標準/拡張機能 C/C++ 依存項目
XPG4
XPG4.2

Single UNIX Specification、バージョン 3
both  

Format

#define _XOPEN_SOURCE
#include <unistd.h>

char *crypt(const char *key, const char *salt);

機能説明

crypt() 関数は、key 引数が指すストリングをエンコードします。 これは、データ暗号化規格 (DES) を永続化します。このエンコード方式を実行するために、 引数によって指されるストリング内の最初の 2 文字を使用する暗号化アルゴリズム。 salt の先頭 2 文字は、次のセットから選ばなければ なりません。
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 . /

この関数は、どのスレッドからでも呼び出すことが できます。

戻り値

正常に実行された場合、crypt() は、スレッド特有のエンコード・ストリングを指す ポインターを戻します。 戻り値の先頭 2 文字は、salt 引数の 先頭 2 文字です。
注:
  1. crypt() の戻り値は、crypt() が同一スレッドから呼び出される たびに上書きされるスレッド特有のバッファーを指します。
  2. crypt() の戻り値は、ほかの X/Open 適合システムに移送 できません。

正常終了しなかった場合、crypt() は NULL ポインターを戻し、エラーを示す errno を設定します。

z/OS® UNIX サービスの特別な動作 crypt() 関数は errno を以下のいずれかの値に設定します。
エラー・コード
説明
EINVAL
salt 引数の先頭 2 文字が、salt セットの文字ではありません。
ENOMEM
crypt() 出力バッファー用のストレージを、crypt() の呼び出し元の スレッドが使用できません。

関連情報