- ベストアンサー
トリッププログラム!?
7桁の数字が,A~Z・a~z・0~9で構成された9桁の文字列になるとき,3103364はどうなるでしょうか。 3181008は0c8DgWWOz,3854944は0eJ9w3vyzになります。 お願いします! 【参考】(トリッププログラム) $tripkey = "#istrip"; #文字列 $tripkey = substr($tripkey,1); $salt = substr($tripkey.'H.',1,2); $salt =~ s/^.-z/./go; $salt =~ tr/:;<=>?@\^_`/ABCDEFGabcdef/; $trip = crypt($tripkey,$salt); $trip = substr($trip,-9); $trip = '◆'.$trip; print "$trip";
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>というと例えばどういったプログラムになるでしょうか。 暗号のアルゴリズムは山のようにあります。 一概にこうだとは言えません。 一番簡単なものは、ひと文字ずらすと言うのもです。 abcが平文ならbcdが暗号文です。 これだと3103364は4214475になります。もちろんルールを知っていれば簡単に平文を復元できます。 こんなものは子供だましですが、知らないと案外使えます。 あとはご自分で調べて下さい。
その他の回答 (3)
- kyotokyo
- ベストアンサー率35% (27/77)
Crypt関数は一方向性暗号ですので 生成された数値から、元の数値を導き出すことは 総当りで調べるほかありません。
- buffalomasa
- ベストアンサー率66% (70/106)
>では,3181008 が 0c8DgWWOz,3854944 が 0eJ9w3vyz になると >きは,どのような処理が実行されていると考えられますでしょうか。 cryptは不可逆性の暗号なのでそういう事は無理だと思います。 つまり0c8DgWWOzが3181008と一致するというのはわかりますが、それを復元することはできません。できるのは一致・不一致の判定だけです。 ですから類推して3103364が何になるかもわからないと思います。 それを知ろうと思えばcryptを使わないアルゴリズムにする必要があります。
- moon_night
- ベストアンサー率32% (598/1831)
意味が分かりません。 参考プログラムを実行しましたが、 >3181008は0c8DgWWOz,3854944は0eJ9w3vyzになります。 にはなりません。 tripkey:3181008 = ◆CsRmbKg76 tripkey:3854944 = ◆kqbzczpco tripkey:3103364 = ◆FO70ZqI06 となります。
お礼
【訂正】 上の※のURLがこのページのものになっていたので訂正します。 http://okwave.jp/qa5177182.html
補足
. 早速の回答ありがとうございます。 では,3181008 が 0c8DgWWOz,3854944 が 0eJ9w3vyz になるときは,どのような処理が実行されていると考えられますでしょうか。 ※ http://okwave.jp/qa5179680.html .
補足
そうなんですか。 >> それを知ろうと思えばcryptを使わないアルゴリズムにする必要があります。 というと例えばどういったプログラムになるでしょうか。