crypt関数とかglibcとか
WordPressのDBに保存されているハッシュ化されたパスワードの値が気になったので調べた話 を読む過程で crypt関数
ってなんだっけ?となったので、調べたことメモ。
PHPのcrypt関数
- 不可逆のハッシュ値を生成する
- C標準ライブラリのcrypt関数に実装依存する
- 使用可能なハッシュ方式は
phpinfo()
のHashing Engines
の値から確認できる - https://www.php.net/manual/ja/function.crypt.php
Rubyのcrypt関数
- 不可逆のハッシュ値を生成する
- C標準ライブラリのcrypt関数に実装依存する
- Ruby 2.6 から非推奨になったため、引き続き必要な場合は string-crypt gem を使用する
- https://docs.ruby-lang.org/ja/latest/method/String/i/crypt.html
crypt関数
- C言語の標準ライブラリに含まれる関数
- 平文とsalt値を与えることで不可逆のハッシュ値を生成する
- アルゴリズム
- 追加の暗号化アルゴリズムについて
- http://linuxjm.osdn.jp/html/LDP_man-pages/man3/crypt.3.html
manページとは
- UNIXに関するコマンド,システムコール,ライブラリ関数などのマニュアル
- https://linuxjm.osdn.jp/index.html
- https://ja.wikipedia.org/wiki/Man%E3%83%9A%E3%83%BC%E3%82%B8
標準ライブラリ
- 標準ライブラリの名前は「libc」
- GNUプロジェクトによる実装として「glic」がある
バージョンは以下で確認できる
# yumコマンドを使う場合 yum list installed | grep glibc # rpmコマンドを使う場合 rpm -q glibc
リンク
- libcなどのライブラリは、動的リンクか静的リンクされてプログラムから使用される
- 静的リンク
- コンパイル時にライブラリごと実行ファイルに取り込む方式
- 動的リンク
指定ファイルの動的リンク先を確認する
# linux ldd /usr/bin/php # mac otool -L /usr/bin/php