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

黒島研究所 (2)
黒島 (No. 2 – 西表島・小浜島 〜 到着) の続きです。船を降りて外に周ると、黒島船客ターミナルと書かれていました。外に出る前にすでにレンタサイクルやお迎え等の島民が数名見えるのは
野菜らーめん
クラウド コンピューティング EXPO では、豊洲からゆりかもめで国際展示場まで移動しました。以前豊洲のデータセンターを利用していて豊洲駅周辺ではよくランチもしたので、帰りに豊洲で遅めのランチとしつつ
かけうどん (冷 + かしわ天)
うどん 丸香 (野菜天盛) からやや日が空きましたが、ついに最後の天婦羅シリーズ "かしわ天" を目指して訪れました。最終更新は 4 月版のままですね。そろそろ "夏期メ
与那国島ビーフカレー (6)
銀座わしたショップ 2015/02/19 (いちばん桜) の際に購入した 与那国島ビーフカレー | 崎元酒造所 をいよいよ試すことにしました。2014/12/02 に新発売した様です。2 月の時点で東
お昼のカツカレー
マクドナルド 懐かしのメニュー (マックチャオ) の続きです。価格は単品で 650 円発売時期は 1992 年 5 月頃他にビーフカレー / チキンカレーキッチンに洗米機と炊飯器が登場もう吉野家か松屋
ESXi 5.1 Install - NG (Boot image is corrupted)
ある日、予備機に VMware ESXi 5.1.0 Update 1 をインストールしました。ISO イメージ自体が 300 MB 強でじわじわと時間が掛かりますが、これからまさにインストーラが起動
煮込み開始直前 (3)
ハッシュ・ド・ビーフの作り方 (No. 3) の続きです。煮込み最後はローリエを 2, 3 枚入れてよくかき混ぜ、2, 3 時間煮込む。適当にかき回せつつ。です。すべての材料を寸胴に移した状態で、ほぼ
vSphere Client 5.5 Install (2)
最近 VirtualBox のゲスト OS やノート PC の買い替えに伴い、Windows 8.1 Pro を試し始めています。Vista -> 7 への移行以上に大きく戸惑っていますが、これ
Drive Network Philosophy
DKIM とは DomainKeys Identified Mail の略で 送信ドメイン認証 の技術の 1 つです。Drive Network では、dkim-milter のバージョンが 0.5
プレミアム急冷器 (2)
新開発 ! 超クリーミー泡サーバー (Part 4) で応募して 2 週間程で、まずプレミアム急冷器のみ先行して配送を完了したとの通知が入りました。白い化粧箱 ? と同サイズの小さい荷物でやって来まし
Valid HTML5 Valid CSS3 Another HTML Lint