にゃあ

PHP: パスワード生成関数を1行で書いてみた

よくあるパスワード生成関数

<?php
function create_password($len = 8)
{
	$chars = array(
		'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
		'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',
	);

	$pw = array();

	for ($i = 0; $i < $len; $i++)
	{
		shuffle($chars);
		$pw[] = $chars[rand(0, 35)];
	}

	shuffle($pw);
	$pw = implode('', $pw);

	return $pw;
}
?>

出典:パスワード生成関数をスマートに書いてみた - Bology

1行で書いたパスワード生成関数

<?php
function make_password($chars = 8)
{
	return substr(str_shuffle('1234567890qwertyuiopasdfghjklzxcvbnm'), 0, $chars);
}

特徴

  • シンプル。
  • 直感的。(文字列の順番をごちゃごちゃにして最初の8文字を取るだけ)
  • rand(), mt_rand(), array_shuffle()などを使わない。
  • 作るのも簡単。なぜなら、アルファベットの並びは、キーボードの並び(笑)

これで、パスワードをつくるのに、配列もクラスもいらないでしょ。


コメント&トラバ

トラックバックを送る

無関係なスパムのトラックバックを防止するため、リンク先で本サイト(suin.asia)への言及が確認されないトラックバックは破棄しています。

トラバURL : http://suin.asia/trackback/484

コメントを書く

お名前* URL
本文*
合い言葉* ←「pojomamno」と入力して下さい。
* この記事の話題と関係ないコメントはどんな内容でも削除します。(移動できないので)

トラックバック

トラックバックがないのはさみしいにゃん…。

コメント

素人です(1485.12.10) #
何でもする。舐めてあげるし。入れてあげる。(´-ω-)♂ http://ylm.me/
私だ(2012.01.11) #
挿入できるよ+.(・∀・).+$ http://www.l7i7.com/

Author

Submenu

Recent Entries

XOOPS Cube Dev Ring

氷川 XOOPS Module 開発室

Recent Comments

Recent Trackbacks