Home » Program » パスワード暗号化 (Movable Type 6.0) (Tag: )

Movable Type 6.0 (mt_author テーブル author_password カラム) で使用する暗号化されたパスワードを作成するため、ソースファイルを参考にスクリプト化しました。

ソースファイルを展開したディレクトリを /home/tools/appli/mt.60/ とし、文末に添付したスクリプトを mkhash.pl として保存した場合、引数に文字列を指定することで、管理画面での操作と同様に暗号化されたパスワードが出力されます。

perl mkhash.pl raw_password

MT/Author.pm set_password() を参考に必要な個所のみ切り出しています。Movable Type 5.0 では Perl 標準の crypt() で処理出来ましたが、MT/Auth/MT.pm is_valid_password() を参照する限り、3 タイプの暗号化方式に対応しています。

添付したスクリプトでは、標準で採用されている方式を参考にしました。

#!/usr/bin/perl -w

use strict;
use lib qw ( /home/tools/appli/mt.60/lib /home/tools/appli/mt.60/extlib );

use MT::Util;

    my $pass  = $ARGV[0];
    my @alpha = ( 'a' .. 'z', 'A' .. 'Z', 0 .. 9 );
    my $salt  = join '', map $alpha[ rand @alpha ], 1 .. 16;

    print '{SHA}' . $salt . '$' . MT::Util::perl_sha1_digest_hex($salt . $pass);

Random Select

かつぎや担々麺 + 辛さ 5 (激辛)
かつぎや (かつぎや担々麺 辛さ 4) は 09/04 (木) にデビューしましたが、週明け月曜日に早速再訪しました。今度は辛さ 5 (激辛) に挑戦です。入口左手に券売機があります。ひっそり下の方に
Drive Network Philosophy
バージョン隠蔽 (sendmail) に続いて、Apache での対応をご紹介しましょう。ServerSignature (httpd.conf)ServerSignature OffErrorDoc
カレーライス (ハウス ザ・カリー) + あきたこまち (白米)
自宅 de カレーライス (ハウス ザ・カリー <辛口> Part 1) の続きです。出来上がりの猛烈に食欲をそそる香りの誘惑に負けず、1 日寝かしました。今回は白米のあきたこまちが残って
My DeskTop (Front)
IT 業界に入る 1 年程前に akia のノート PC を買った後は、4 年程はノート PC のみで作業していました。それ程必要に迫られることもなく、スペース的な理由からも不自由は感じなく使っていま
ロマンスロード (3)
久高島 (No. 2 – カベール岬) の続きです。カベール岬から南下すると、小さな看板が見えて来ました。"ロマンスロード" の下に書いてある Romansu Road
VBoxManage list hdds
自宅や出張時に使用しているノート PC (hp dv5 has broken again) はホスト OS を Windows 7, ゲスト OS に FreeBSD をインストールしています。今回
エビカレー (辛さ 15 倍)
カリーライス専門店 エチオピア 本店 (No. 1 – 辛さ 5 – 10 倍) の続きです。5 倍, 10 倍と少しずつ辛さを増した 3 度目は、店頭と券売機で気になっていた
jQuery Logo
Drive Network のホームページ では、CSS のみで何とか対応しましたが、まだ意図する 100% の動作ではありません。(そもそも入れ子が複雑)とあるサービス向けにまた同様の動作を実現させ
パワーストーン
与那国島から帰ってきた 10/08 (与那国島 (No. 15 ? また来るさ)) は昼過ぎの到着でしたので、ホテルのチェックインまで時間が空くこともあり、以前の仕事仲間と南部にランチに行きました。移
エクストラコールド BAR (1 DRINK TIME)
エクストラコールド BAR には、出来た年に長蛇の列に並んで行きました。一番搾り FROZEN GARDEN で少し火がついたので、久しぶりに訪れてみました。普通の時間に行っても面白くないので、今回は
Valid HTML5 Valid CSS3 Another HTML Lint