• ベストアンサー

暗号化(perl)→復号化(php)

暗号化キーを使用した暗号化→復号化で cgi(perl)で暗号化し、phpで復号化を行おうとしております。 AES暗号を使用したのですが、いろいろ設定を変えて 試みたのですが、うまくいきませんでした。 他に暗号化キーを使用した暗号化の方法がありましたら 教えてください。 暗号化(perl)→復号化(php)で実績のあるモジュールが あれば非常に助かります。 よろしくお願いします。

  • lsdp
  • お礼率25% (7/28)
  • Perl
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

http://search.cpan.org/search?query=Crypt&mode=all /^Crypt::/ なモジュールならば、大体ご期待に添えるのではないでしょうか。 私が知っているのは Crypt::Blowfish と crypt() 関数ぐらいですが――。 http://search.cpan.org/perldoc?Crypt::Blowfish

関連するQ&A

  • PHP パラメータの暗号 復号

    PHPのパラメータを暗号化して 取得側で復号処理も行いたいのですが・・・。 いろいろなサイトをみて試していますが、暗号化された文字列に、 おそらく+(プラス)が入ると復号がうまく行きませんでした。 みなさんはどのようにされていますでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 組み込みC言語 AES 暗号・復号化の利用

    組み込みマイコン関係の開発に携わっているものです。 この度、AES128の暗号・復号化を使用する開発案件に 携わることになり、AESの暗号・復号化について勉強中です。 まだ、マイコンでの暗号化・復号化処理という 開発経験がないため、皆様にご教示頂きたく 質問させて頂きます。 マイコンでAES128等の暗号・復号化処理を実装する場合。 マイコンそのものがハードウェアとして暗号・復号化の機能を 持っているものがありますが、通常はこちらで対応するのが 正当な方法、という認識で合っているのでしょうか? また、仮にファーム側の対応を要求された場合は、 マイコンメーカーが出している有料のライブラリ。 または、何かその手では有名な参考となるフリーの ソースコードというものが有るのでしょうか? 恐れ入りますが、ご教示の程宜しくお願い致します。

  • 暗号化・復号化

    crypt以外で 暗号化及び復号化ができるAPIはありますでしょうか? ロリポップで使用する予定です。

    • 締切済み
    • PHP
  • 暗号・復号 cgiスクリプトについて

    こんにちは。 私はcgiスクリプトにて文字を暗号化させたいと思っています。 友人に暗号化復号化スクリプトを書いてもらったのですが どうやって動かすかよくわかりません。 http://www.rescue.ne.jp/cgi/htpasswd/makepwd-des/ 上記のサイトのように出力させたいのですが、スクリプトだけでは私には難しいです。 その友人は海外に行ってしまい連絡が今は取れないんです。 sub enc_string{ my ($key, $string) = @_; my @map = (('A' ... 'Z'), ('a' ... 'z'), ('0' ... '9'), '+', '&'); my @key = unpack('C*', $key); my $str = ''; my @x = map { int(rand(200)) } (0 ... 2); @key = map {$x[$_] ^ $key[$_]} (0 ... 2); while($string ne ''){ my $n = substr($string, 0, 3, ''); my @n = unpack('C3', $n); map{$n[$_] ^= ($key[$_])} (0 ... 2); @key = unpack('C3', $n); @key = map {$x[$_] ^ $key[$_]} (0 ... 2); my $a = $n[0] >> 2; my $b = (($n[0] & 3) << 4) | ($n[1] >> 4); my $c = (($n[1] & 15) << 2) | ($n[2] >> 6); my $d = $n[2] & 63; $str .= $map[$a] . $map[$b] . $map[$c] . $map[$d]; } my $a = $x[0] >> 2; my $b = (($x[0] & 3) << 4) | ($x[1] >> 4); my $c = (($x[1] & 15) << 2) | ($x[2] >> 6); my $d = $x[2] & 63; return $str.'<>'.$map[$a].$map[$b].$map[$c].$map[$d]; } このスクリプトで暗号するようですが、初心者なものでどうやって 手直し?追加すればよいのでしょうか? #!/usr/bin/perlを最初に入れるのはわかります。 あとこのスクリプトの他に復号、MD5にて暗号のスクリプトがあります。 まずは暗号化させてみたいのですが、よろしくお願いします

  • 文字列の暗号化と復号化

    .NETで文字列を固定長に暗号化したい。(ユニコード対応できる) また、暗号化したものを復号化します。 .NETに付いている暗号化のモジュールはいくつがありますが、その以外のやり方がありましょうか? 例:何桁の平文を暗号化しでも8桁の十六進数又はBASE64の秘文になる。

  • AES暗号にて、AES_set_encrypt_keyで設定されるAES_KEYについて

    VC++2008にてopensslを用いて、AES暗号/復号の機能を作成しています。 AES_set_encrypt_key → ivをコピー → AES_cbc_encrypt(~,AES_ENCRYPT)にて暗号、 AES_set_decrypt_key → ivをコピー → AES_cbc_encrypt(~,AES_DECRYPT)にて復号するコーディングをしました。 (http://d.hatena.ne.jp/hnko/20090302/1235977892のenc_aes128_cbc_test()を参考にしましたので、 一連の流れは、こことほぼ同じです) デバッグしてみると、一見、暗復号が問題なく出来ていたので、 AES_set_encrypt_key関数の第一引数のkey配列の値と、 ivec配列の値を変えて、デバッグしてみたところ、 key配列を変更すると、暗号化後の文字列も変更されますが、 ivec配列を変更しても、暗号後の文字列に変化が有りませんでした。 調べてみたところ、AES_set_encrypt_keyにて返される AES_KEYのroundsの値が常に同じであることが原因と思われますが、 roundsの値が常に一定だと、暗号解読が比較的容易に 出来てしまうと思うのですが、上記で挙げたサイトでの コーディングの他に、何か別にコーディングを足さなければならないのでしょうか? よろしくお願いします。

  • PerlとphpのCGI版

    Perlは文書に最適化された言語だと今日知りました。 そこで思ったのですが、PerlとphpのCGI版の場合だと ファイルの読み書きなどを考えてみたところ、速度にさほど違いはないのでしょうか? mod_perlとphpのモジュール版の速度は同じくらいだと聞きます となればphpのCGI版はさほど早くなく、Perlと同程度じゃないかと思ったわけです どなたか教えてください!

  • カラムの暗号化

    MySQL4で暗号化を試みています。PHP4と組み合わせです。 他のテーブルでKEYを取り出してそのKEYを用いて暗号化したいです。 update文中で $sql.= " vmem_card_no= '". AES_ENCRYPT(trim($line[108]),$key). "',"; としています。どこかおかしいでしょうか?

    • ベストアンサー
    • MySQL
  • php_screwでフォルダ毎の暗号化はできますか

    現在、以下のように設定し失敗しています。 暗号化は以下のように行っています。 /usr/php_screw/php_screw_1/tools/screw_1 /var/www/html/test1/test1.php /usr/php_screw/php_screw_2/tools/screw_2 /var/www/html/test2/test2.php 復号化は以下のようにリネームしたphp_screw.soをphp.iniに複数指定しています。 extension="php_screw_1.so" extension="php_screw_2.so" この場合、暗号化と復号化の紐付けが出来ていない為?失敗しています。 上記の方法の改善策、又は別の方法があれば教えてください。 お願いいたします。

    • 締切済み
    • PHP
  • PHP で暗号化して何かを送信することってあるのでしょうか?

    こんにちは、趣味で PHP を触っています。 とても初歩的な質問になってしまうと思いますが、よろしくお願いします。 PHP では crypt 関数で暗号化することができるらしいのですが、実際にこれを使わなければいけない場合とはどのような時なのでしょうか? http://jp2.php.net/manual/ja/function.crypt.php PHP で処理したことを MySQL などのデータベースに書き込む場合、主にサーバー内での処理なので外部から見られることなんてないと思っていましたが、見ることは可能なのでしょうか? それともう一つ質問がありまして、マニュアルには「復号するための関数はありません。 crypt() が使用しているのは単方向アルゴリズムだからです。」とありますが、それだと暗号化すると二度とその情報が何かわからなくなるのではないでしょうか? 何か複合化する方法があるのですか? よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう