vine-users ML アーカイブ



[vine-users:072094] Re: md5 の 値

  • From: Tatsuo Ishii <t-ishii@xxxxxxxxx>
  • Subject: [vine-users:072094] Re: md5 の 値
  • Date: Wed, 08 Jun 2005 16:13:00 +0900 (JST)
石井です.

# こういう質問はpgsql-jpに投げた方がよいと思いますが...

> こんにちは、NIDA といいます。
> # Vine Linux 3.1 に、postgresql の 7.4.7 です。
> 
> postgresql から "select * from pg_shadow;" をしたところ、
> 
> ユーザーパスワードのところに、
> "md5621f4bf792982670d1c42988c1495a4b" とか
> "md51f6d86901b4d1d4fbefdeb94e99f3447" と
> 表示されました。
> 
> これらの元が 'password' であることを確認したいのですが、
> どうしたらいいのでしょうか。
>
> # 設定したパスワードは、いずれも 'password' です。
> # プライベートパソコンで、勉強の為に設定しただけです。
> 
> 
> echo -n 'password' | md5sum をしたところ、
> "5f4dcc3b5aa765d61d8327deb882cf99"
> と表示されました。
> 
> なんどやっても同じ値が出てきますが、
> ユーザーパスワードのものは、同じ文字列('password')でも
> 異なったものになっています。
> # "md5621f4bf792982670d1c42988c1495a4b" と
> # "md51f6d86901b4d1d4fbefdeb94e99f3447" 。
> 
> オリジナルが同じなら、md5 の値も同じだと思ったんですが
> 違うのでしょうか。
> 
> それとも、"1f6d86901b4d1d4fbefdeb94e99f3447" は、
> md5 の値ではないのでしょうか。

単に,PostgreSQLが内部でやっている計算通りにしないから結果が一致しない
だけでしょう.

PostgreSQLでは,md5計算の元になるオリジナル文字列は生パスワードではな
く,ユーザ名を連結したものになっています.たとえば,ユーザ名foo,パス
ワードがbarなら,md5(barfoo)です.
--
Tatsuo Ishii