2008年05月29日

[PHP]暗号化と復号化どちらが早いのだろうか

ログインIDとPASSを可逆的に暗号化しているのですが。

入力されたIDと比較するときに。
入力されたIDを暗号化するのと、暗号化されたIDを複合化して比較するのではどちらが早いのかと気になったので、かなり適当に比較


<?php

//平文
$data = "平文適当にAbcdefg0123";

//暗号化の場合

$start_time = time();
for($i=0;$i<=200000;$i++){
$encData = my_encrypt($data);
}
$end_time = time();
$time = $end_time - $start_time;
print "encrypt - {$time}秒\n";

//復号の場合
$start_time = time();
for($i=0;$i<=200000;$i++){
$decData = my_decrypt($encData);
}
$end_time = time();
$time = $end_time - $start_time;
print "decrypt - {$time}秒\n";
print "平文:".$data."\n";
print "復号分:" . $decData . "\n";

?>


3回ほど実行した結果がこれ


encrypt - 22秒
decrypt - 23秒
平文:平文適当にAbcdefg0123
復号分:平文適当にAbcdefg0123

encrypt - 22秒
decrypt - 24秒
平文:平文適当にAbcdefg0123
復号分:平文適当にAbcdefg0123


encrypt - 18秒
decrypt - 23秒
平文:平文適当にAbcdefg0123
復号分:平文適当にAbcdefg0123



暗号化した方がはやそう?
でもどんどん暗号化が早くなってるのキャッシュされてるのか?

まぁそれほど真剣に比べる気もないので今日はここまで。
posted by Belial at 13:05 | Comment(0) | TrackBack(0) | プログラミング | このブログの読者になる | 更新情報をチェックする

2008年05月23日

[PHP]PEAR::Crypt_Blowfishで可逆暗号化

久しぶりの投稿です。
最近ネタはあっても書き込むのがめんどくさいw


久々のネタは暗号化
やっぱり、パスワードとかは暗号化したいもの。
いつもは不可逆な暗号化で暗号化済みのものと比べてますが、
今日は暗号化済みのものから復号化の必要がありました。

まぁそんな本気の暗号化は必要ないのですが、最近PEARに興味が出てきたのでCrypt_Blowfishを使ってみることに。

ネットを見ながら適当にインストールして、サンプルを実行してみる。


<?php
require_once 'Crypt/Blowfish.php';
// 暗号化キー
$key = 'hoge';

//暗号化するデータ

$data = "ぱすわーどとか";
// 暗号化処理
$blowfish = new Crypt_Blowfish($key);
$enc = $blowfish->encrypt($data);

//復号化
$dec = $blowfish->decrypt($enc);


print $dec;//ぱすわーどとか が表示される、はず。

?>



が、復号化が正しく出来ない。
何度か文字列を変えて試したがだめだ。
一応複合化は出来ているんだが、復号化された文字列に暗号化前のデータ以外のバイナリがくっついてる。

「123」を暗号化-復号化すると「123***」となる(*のところは何かのバイナリデータ)

困った
困ったときのGoogle先生にたずねてみる。

続きを読む
posted by Belial at 13:49 | Comment(2) | TrackBack(1) | プログラミング | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。