よくあることですが、うまく分類できない関数がいくつか存在します。
PQencryptPassword
PostgreSQLパスワードの暗号化された形式を準備します。
char * PQencryptPassword(const char *passwd, const char *user);
この関数は、ALTER USER joe PASSWORD 'pwd'のようなコマンドを送信したいクライアントアプリケーションで使用されることを意図したものです。
こうしたコマンドでは、コマンドログが活動の監視などで晒されてしまうため、元々の平文テキストでパスワードを送信しないことが推奨されています。
その代わりに、この関数を使用して送信前にパスワードを暗号化形式に変換してください。
引数は平文のパスワードとそのSQL上のユーザ名です。
戻り値はmalloc
で割り当てられた文字列です。
メモリ不足の場合にNULLが返されます。
呼び出し元は、その文字列にエスケープしなければならない特殊な文字列が含まれていないことを仮定することができます。
処理が終わった時にPQfreemem
を使用して結果を解放してください。