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

標準

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

XPG4
XPG4.2
Single UNIX Specification、バージョン 3

両方  

形式

#define _XOPEN_SOURCE
#include <unistd.h>

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

機能説明

crypt() 関数は、key 引数が指すストリングをエンコードします。このエンコードを実行するための、salt 引数が指す、ストリングの先頭の 2 文字によって、データ暗号化規格 (DES) 暗号化アルゴリズムを「かき乱し」ます。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() 関数は失敗します。
エラー・コード
説明
EINVAL
salt 引数の先頭 2 文字が、salt セットの文字ではありません。
ENOMEM
crypt() 出力バッファー用のストレージを、crypt() の呼び出し元の スレッドが使用できません。

関連情報