パスワードの作成にMD5やSHA1を使う

OSのログインパスワードで、新しく生成されたパスワードはSHA1などでハッシュ化して保存されますが、このハッシュ化されたデータ自体をログインパスワードとして利用したらより安全だと思います。

MD5では必ず32桁のランダムな文字列が生成され、
SHA1では必ず40桁のランダムな文字列が生成されます。

必ずと言って、なんども入力しなければならない、OSのログインパスワードなどでは、

こんな長いパスワードは覚えられるはずがありません。

しかし、最近のブラウザは一度入力されたユーザー名とパスワードを記憶してくれる機能が付いています。さらに違うPCと同期までしてくれます。 そういった環境では、わざわざ覚えやすいパスワードをブラウザに記憶させておく必要はないはずです。

さらにハッシュ値を吐き出すアルゴリズムは、入力が一文字異なるだけで全く異なる値を出力するので、
入力する文字列を、好きな(短い)単語をほんの少し繋げるだけで、必ず難解なパスワードが生成できます。

つまり、ブラウザから利用するパスワードにはハッシュ化したパスワードがオススメということです。

SHA1とMD5のパスワードを生成する簡単なツールを作ったので置いておきます→pass.exe
使い方
オプション)

pass -m MD5パスワードを出力する
pass -s SHA1パスワードを出力する
pass -cm ※-cは元のパスワードを間違えないようにするだけ
pass -cs

例)
SHA1の新しいパスワードを生成する(pas1と入力)

pass -cs
UNIX password:****
Retype UNIX password:****
generated SHA1pass -> ece9a941ffb615fc7233b2fec9b7255d67affeb2

SHA1のパスワードを出力する(pas2と入力)

pass -s
UNIX password:****
SHA1pass -> 11962e25c8348cfa42c215578a2ade82c90d5e9e

pas1とpas2でこれだけ出力が違うのが面白い!
passwdコマンドに似せてるのは特に意味はないです。

ソースコード→ pass_src.zip

参考サイト
RFC 3174 – US Secure Hash Algorithm 1 (SHA1)
MD5メッセージ要約アルゴリズム(日本語訳)

そういやLinuxなのに UNIX passwordって表示されるのは何でだろ・・・

ブログのドメインを変更しました

helloidea.org から helloidea.orgへドメインを変更しました。

いままで無料のDDNSサービス(ieServer.Net)を利用してドメインをとっていましたが、ドメインの設定が自由にできなく、 google appやCloudFront(CNAMEレコード)が使えない事もあり、お名前.comで新しく取得しました。

それに加えて、メールアドレスがmonyuonyu@gmail.comからpino@helloidea.org に変更になりました。

変更しましたが、今まで通りhelloidea.org でもアクセスでき、monyuonyu@gmail.comでもメールは届きます。

.orgなのは.comが取れなかったからです。@@
.com(会社)ってのも可笑しいっ! って 前向きに考えて org
.jpは年間2,980円するので却下。 一月248円って考えたら安いのかなぁ@@

wordpressのパスワードをリセットする

wordpressでパスワードを忘れた時のヒヤッとする感覚はなかなかなもんです。
しばらく使ってないWindowsPCも久しぶりに起動するとパスワードがわからなくて困ったりします。
ちなみにwindowsPCのパスワードはOphcrackってツールで簡単に解析できたりします。

パスワードのリセット方法は →WordPressのパスワードをマニュアルでリセットする方法のペーシで詳しく解説されています。

ここでもメモしておきますm
phpMyAdminは使わないので、SQLコマンドだけメモ。

一度テーブルを確認してから設定するのがいいと思います。

ハッシュ値が入っているだけなのであんまり意味ないですが@@
パスワードのテーブル

mysql> use wordpress;
mysql> select user_login, user_pass from wp_users where user_login = 'admin';

確認したら設定します

パスワードリセット

mysql> update wp_users set user_pass = MD5('password') where user_login = 'username';

MD5()でそのままハッシュ値入れれるのがいい感じ。

以前にサイトアドレスの設定も書き違えてしまったことがあるのでメモ

サイトアドレスのテーブル

mysql> use wordpress;
mysql> select option_name from wp_options;
mysql> select option_value from wp_options where option_name='siteurl';

サイトアドレスリセット

mysql> update wp_options set option_value = 'http://helloidea.org/' where option_name = 'siteurl';

mysqlのrootのパスワードを忘れたら洒落にならないですよね。と思ってたら簡単にリセットできる@@うぇ
公式のドキュメントに載ってます↓
http://dev.mysql.com/doc/refman/4.1/ja/resetting-permissions.html
ローカルのみログイン出来るよう再起動してから、パスワードをリセット出来るみたいです。

素数生成プログラム

素数生成するだけのプログラムです。
なんか面白いのでメモメモ。

exeも置いときます。 → prime_gen.exe
コマンドラインで叩くと使えます。↓

prime_gen.exe 1000

ファイルに出力したければ

prime_gen.exe 1000 > output.txt

/************************************************************
	prime gen.exe
************************************************************/

#include <iostream>
#include <vector>

int main(int argc, char* argv[])
{
	std::vector<unsigned long long int> prime_ls;

	unsigned long long int target;
	unsigned long long int distp = 3;
	prime_ls.push_back(2);

	if(argc < 2)
	{
		std::cout << "please input target" << std::endl;
		return 0;
	}
	target = atoi(argv[1]);

	unsigned long long int cnt = target - distp;
	for (; cnt > 0; cnt--)
	{
		for (unsigned long long int cmpp = 0; prime_ls.size() > cmpp; cmpp++)
		{
			if (distp % prime_ls[cmpp])
			{
				if (prime_ls.size() - 1 == cmpp)
				{
					prime_ls.push_back(distp);
					break;
				}
			} else
			{
				break;
			}
		}
		distp++;
	}

	for (unsigned int cnt = 0; prime_ls.size() > cnt; cnt++)
	{
		std::cout << "{" << cnt + 1 << " " << prime_ls[cnt] << "}, ";
	}

	return 0;
}

Windowsでsmbのログインユーザーを変更する

smbはサーバへ接続する場合、現在ログインしているユーザー名とパスワードで自動的にサーバへ接続を試みます。

ログインに失敗した場合にユーザー名とパスワードを要求します。 しかし、違うユーザーとして接続したくなる時があります。

そういう時は、net use コマンドで接続ユーザを変更出来ます。

net use ¥¥server¥IPC$ passwd /user:username

現在の接続を全て切る

net use * /d

※ パスワードにスペースが入ってる場合はダブルクオーテーションで囲います。

※ 複数の接続は許可されません  → nslookup等で確認したIPで接続します。