dポイントプレゼントキャンペーン実施中!

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";

A 回答 (4件)

>というと例えばどういったプログラムになるでしょうか。



暗号のアルゴリズムは山のようにあります。
一概にこうだとは言えません。

一番簡単なものは、ひと文字ずらすと言うのもです。
abcが平文ならbcdが暗号文です。
これだと3103364は4214475になります。もちろんルールを知っていれば簡単に平文を復元できます。
こんなものは子供だましですが、知らないと案外使えます。

あとはご自分で調べて下さい。
    • good
    • 0

Crypt関数は一方向性暗号ですので


生成された数値から、元の数値を導き出すことは
総当りで調べるほかありません。
    • good
    • 0

>では,3181008 が 0c8DgWWOz,3854944 が 0eJ9w3vyz になると


>きは,どのような処理が実行されていると考えられますでしょうか。

cryptは不可逆性の暗号なのでそういう事は無理だと思います。
つまり0c8DgWWOzが3181008と一致するというのはわかりますが、それを復元することはできません。できるのは一致・不一致の判定だけです。

ですから類推して3103364が何になるかもわからないと思います。

それを知ろうと思えばcryptを使わないアルゴリズムにする必要があります。

この回答への補足

そうなんですか。


>> それを知ろうと思えばcryptを使わないアルゴリズムにする必要があります。

 というと例えばどういったプログラムになるでしょうか。

補足日時:2009/08/04 20:56
    • good
    • 0

意味が分かりません。


参考プログラムを実行しましたが、
>3181008は0c8DgWWOz,3854944は0eJ9w3vyzになります。
にはなりません。
tripkey:3181008 = ◆CsRmbKg76
tripkey:3854944 = ◆kqbzczpco
tripkey:3103364 = ◆FO70ZqI06
となります。

この回答への補足

.


 早速の回答ありがとうございます。

 では,3181008 が 0c8DgWWOz,3854944 が 0eJ9w3vyz になるときは,どのような処理が実行されていると考えられますでしょうか。


http://okwave.jp/qa5179680.html


 


.

補足日時:2009/08/04 13:28
    • good
    • 0
この回答へのお礼

【訂正】

上の※のURLがこのページのものになっていたので訂正します。

http://okwave.jp/qa5177182.html

お礼日時:2009/08/04 14:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!