PHPを使ったプログラムを作っています。


ユーザからポストされたA値(このプログラムではURL書式になります)
をハッシュ値のようなものに変換してたB値
をデータベースへ保存します。
こんど、ユーザからこのB値を送られると
A値を返すようなプログラムを考えています。

ここでの
A値からB値へ変換する方法としてよい方法をアドバイスください。

紹介されているURLや
サンプルコードを用いてお願いします。

また、B値は、それからA値を解析できないようしたいです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/04/27 12:00:32
  • 終了:2007/04/27 20:00:30

回答(2件)

id:GEN111 No.1

GEN111回答回数472ベストアンサー獲得回数582007/04/27 12:27:29

ポイント40pt

PHP: md5 - Manual

PHP: sha1 - Manual

標準関数の md5 や sha1 を使うのはダメなんでしょうか。

id:yuki_furuya No.2

yuki_furuya回答回数83ベストアンサー獲得回数42007/04/27 16:53:51

ポイント30pt

http://ja.wikipedia.org/wiki/RSA%E6%9A%97%E5%8F%B7

RSA暗号なんてどうでしょう?

id:ken1bf7

ありがとうございます。

PHP RSAであんまでてきませんねー;

でもありがとうございます。

おもしろいです。

2007/04/27 19:59:21
  • id:kurukuru-neko
    MYSQLを使っているなら。

    1. ユーザーを登録するとき、暗号キー・
    パスフェーズを登録

    カラム名: encstring

    2. Aを要求されたら
    ユーザ情報よりカラム encstringを
      元にBを生成

    SELECT @b = SHA1(AES_ENCRYPT('URL A',encstring),@a = 'URL A' from usertable whre userid='user1'
    insert into xxx values(userid,@a,@b,..);

    3. Bを要求されたら
    xxxを検索してAを取り出しAからBが生成
      出来た場合のみ正しいものとして処理
      する。
    select @aa=a from xxx where userid='user1' and b='B String'
    select @a=sha1(AES_ENCRYPT(@aa,encstring) from usertable where userid='user1'

    http://dev.mysql.com/doc/refman/4.1/en/encryption-functions.html#function_aes-encrypt

  • id:ken1bf7
    回答ありがとうございます。

    MYSQLです!
    ソース付の解説ありがとうございます。
    大変わかりやすいです。
    この方法でやりたいと思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません