[Tep-j-general] Re: 暗号化と複合化がしたい!!

Back to archive index

moon-****@nag***** moon-****@nag*****
2006年 4月 30日 (日) 12:57:52 JST


曽我部様

懇切丁寧にソースまで書いてくださり
大変感激しております!!

公開鍵、秘密鍵についても
参考サイトを教えて頂き、本当にありがとうございました!!
自分でも勉強してスキルアップを図りたいと思います。

目的としましては、暗号化をするページから複合化をするページに飛んだときに
安全・確実に、”ある文字列”の受け渡しが出来るようにということを実現したかったのです。
サーバは、同じのサイト(レンタルしている安いサーバですが^^;)の中で行います。 




> マニュアルの下のほうにあるUser Contributed Notesに使いかたが
> 書いてある場合があります。
>
> openssl_public_encrypt()のところに書いてあるものを真似たものですが、
> 以下のようなソースでできるようです。
> 公開鍵、秘密鍵については、
>
> http://www.turbolinux.co.jp/knowledge/public/654.html
>
> が参考になると思います。
>
> どのような目的で、
>
>> プログラムの中で、ある文字列の暗号化と、
>> 別のプログラムの中で、暗号化された文字列をGETで受け取って複合化する
>
> このようなことをするのでしょうか。WWWサーバとは別のサーバに
> データを送信するのでしょうか?
>
>
> <?php
>
> // 公開鍵
> define('FILE_PUBLIC_KEY',  'public.pem');
> // 秘密鍵
> define('FILE_PRIVATE_KEY', 'private.pem');
> // パスフレーズ
> define('PASSPHRASE', 'XXXXXXXXXX');
>
> $data = '秘密のデータ';
> $crypted_text = encrypt($data);
> $decrypted = decrypt($crypted_text);
>
> echo "暗号化前の文字列 = $data\n";
> echo "暗号化された文字列 = $crypted_text\n";
> echo "復号化された文字列 = $decrypted\n";
>
> /**
> * 公開鍵で暗号化
> *
> * @param string $data 暗号化する文字列
> * @return string 暗号をbase64でエンコードした文字列
> */
> function encrypt($data)
> {
>    // 公開鍵取得
>    $fp = fopen(FILE_PUBLIC_KEY, 'r');
>    $cert = fread($fp, 8192);
>    fclose($fp);
>
>    // 暗号化
>    openssl_public_encrypt($data, $crypted, $cert);
>
>    return base64_encode($crypted);
> }
>
> /**
> * 秘密鍵で復号化
> *
> * @param string $crypted_text 暗号をbase64でエンコードした文字列
> * @return string 復号化した文字列
> */
> function decrypt($crypted_text)
> {
>    $crypted = base64_decode($crypted_text);
>
>    // 秘密鍵取得
>    $fp = fopen(FILE_PRIVATE_KEY, 'r');
>    $priv_key = fread($fp, 8192);
>    fclose($fp);
>    $res = openssl_get_privatekey($priv_key, PASSPHRASE);
>
>    // 復号化
>    openssl_private_decrypt($crypted, $decrypted, $res);
>
>    return $decrypted;
> }
>
> ?>
>
> -- 
> sogab****@alles*****
>
> _______________________________________________
> Tep-j-general mailing list
> Tep-j****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/tep-j-general
>
> 





Tep-j-general メーリングリストの案内
Back to archive index