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

つけ麺 (中) + ちょこっと野菜
自宅からデータセンターに直接行く場合、千代田線新御茶ノ水駅で乗り換えて丸ノ内線 御茶ノ水駅まで歩きますが、その途中にあるので今も不定期に訪れています。普段トッピングは頼みませんが、何となく気になってい
"GIGS" JUST A HERO TOUR 1986 NAKED
すでにオンタイムで BOØWY を知らない世代も相当増えているのでしょうが、伝説のアルバムが、完全版となって帰って来ました。元々の "GIGS" は、確か LP で 5 万枚の限定
中本鮮魚店 (4)
久高島 (No. 5 – 久高船待合所) の続きです。久しぶりに久高島を訪れてエネルギーをもらった様な感じがしました。本島南部に戻ってから特に予定は決めていませんでしたが、天ぷらで有名な
ボンディ 通信販売 ビーフカレー (5)
自宅 de ボンディ (Part 2) の続きです。2 回目1 回目は土曜日のランチ、2 回目は翌日日曜日のランチです。"お酒は我慢出来てもカレーは難しい" 私にとって、2 日連続
Drive Network Philosophy
Drive Network のこだわり (SSL 証明書) に続いてご紹介。一般的なお客様にはなじみが薄いかもしれませんが、2004 年頃には Web サイトと Web ブラウザの通信の暗号化以外にも
ヱビス 夏のコク (3)
普段ビールは ザ・プレミアム・モルツ を好んで飲んでいますが、たまに YEBISU ヱビスビール が飲みたくなる時があります。ヱビスを求めて訪れた近所のコンビニエンスストアで、ヱビス 夏のコク を見つ
日替そば (ニラカナそば + 定食)
うちなぁ料理と古酒家 ニライカナイ (ソーキそば定食) でメニューが多少変わっていたので、日を空けずに訪れました。実は 1 週間程前にも訪れましたが、その際はおかわり無料のじゅうしぃが切れて白ご飯だけ
FreeBSD Logo
古い ports のスケルトンを最新の OS 環境で make install する場合、必ずしもコンパイルが終了するとは限りません。OS 側 /usr/include/ 下で関数名が微妙に変更されて
FreeBSD Logo
Disable SSLv3 (bsdftpd-ssl) に続いて、POODLE (Padding Oracle On Downgraded Legacy Encryption) と呼ばれる攻撃方法を回
スーパーマック
マクドナルド 懐かしのメニュー (イントロ) の続き。第一弾は "スーパーマック" です。写真が残っていました。(Web 上にですが)価格は単品で 450 円。単品価格としては史上
Valid HTML5 Valid CSS3 Another HTML Lint