人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ログインシステムを作っておりますが、DBに入れるパスワードを暗号化するやり方がわかりません。
参考サイトはご存知ありませんか?

●質問者: makocan
●カテゴリ:インターネット ウェブ制作
✍キーワード:サイト システム パスワード ログイン 暗号
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● onigirin
●23ポイント

言語がわかりませんが、phpの例です。

http://metalmickey.genin.jp/study/php_bbs_2_13.html

◎質問者からの返答

すみません。

PHPです。


2 ● F-15X
●23ポイント

MySQLですとこちらが参考になるかと思います。


MySQLでカラムの暗号化/復元

http://www.ironhearts.com/diary/archives/001255.html

MySQL 4.1 リファレンスマニュアル :4.4.8. パスワードの設定

http://dev.mysql.com/doc/refman/4.1/ja/passwords.html


3 ● Yota
●22ポイント

ただ暗号化しても暗号化したパスワードを盗聴されたら意味ないので、ハッシュとチャレンジ・レスポンス方式の組み合わせた方がいいと思います。

http://phpspot.org/blog/archives/2006/02/ajaxphp_1.html


4 ● manupica
●22ポイント

http://www.google.co.jp/ <=ダミーです

DBに入れるパスワードは事前にphp側で暗号化しておくのがよいでしょう。

暗号化には、md5という方式が一般的です。

phpであればmd5()という関数を使います。

$crypted_password = md5($password);

として暗号化したパスワードをDBに保存します。

※$passwordの部分には、パスワードを入れるので、例えばHTMLで

<input type="password" name="pass">

としてきた場合は、

$password = $_POST["pass"]

として取得します。

$crypted_password は既に暗号化されているので、これをDBに入れた時点で

DBを見ても、その人のパスワードは、管理者からも見ることが出来ません。

テーブルの構造が

id int primary key,

username char(255),

password char(255),

だとしましょう。

この時は以下のようにしてデータを入力します。

$sql = "insert into user_data ('user','password') values (".$username.",".$password")";

mysql_query($sql);

$usernameもHTML側で

<input type="text" name="user">

として、php側で

$username = $_POST["user"];

とします。

<h3>o- 事前に用意するテーブル ( DB名を sample_dbとします)</h3>

create table user_data

(

id int primary key,

username char(255),

password char(255),

);

<h3>o- HTML側の処理</h3>

<form action="login.php">

<input type="text" name="user">

<input type="password" name="pass">

</form>

<h3>o- PHP側の処理(login.php)</h3>

$username = $_POST["user"];

$password = $_POST["pass"];

$cn = mysql_connect("localhost", "root", "");//root,passwordなしでDB接続

mysql_select_db("sample_db");

$sql = "insert into user_data ('user','password') values (".$username.",".$password")";

mysql_query($sql);

?>

こんなかんじです。

※ セキュリティは甘々です。きちんとやるならYotaさんの回答等を参考にしたほうがいいと思います。

※ 関係ないですが、php/mysqlであればこちらのサイトが参考になります。

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_s01.htm

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ