重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

与えられた文字列を、可変長 ( 6 ~ 10 桁程度 ) のアラビア数字に変換するような暗号化方式やハッシュ関数を探しています。
あるいは、出力結果が数字で、名前が付いている方式ならば、それに近いものでも構いません。
どなたかご存知の方はいらっしゃらないでしょうか。
ご回答よろしくお願い致します。

A 回答 (3件)

md5の16進数を10進表現にするとかなり大きくなりそうですね。


crc32だと10進数で10桁のようです。crc16だと5桁です。
crcはソースも公開されてるし、簡単なので、桁を小さくすることも
簡単だと思いますよ。

この回答への補足

申し訳ありません。1 つ質問を訂正させて頂きます。
質問文では 「 アラビア数字 」 と書きましたが、そうではなく、負の数を含む「 整数 」 に変換する方式を探しています。
また、桁数の目安として 6 ~ 10 桁程度と書きましたが、8 ~ 10 桁程度のりです。
引き続き、ご回答お待ちしております。

補足日時:2008/05/11 20:54
    • good
    • 0
この回答へのお礼

ハッシュ値を 10 進整数に直すという方法もありますね。
CRC というのは巡回冗長検査のことですか。初めて知りました。
是非とも参考にさせて頂きます。
ご回答有難うございました。

お礼日時:2008/05/11 20:43

java であれば


http://java.sun.com/javase/6/docs/api/java/util/ …

C であれば RFC 2083 にサンプルコードがあります。
http://www.ietf.org/rfc/rfc2083.txt

Perl であれば以下のサイトが参考になるかもしれません。
http://multix.jp/cgi-bin/cdiary2/2003-04-05.dml. …
    • good
    • 0
この回答へのお礼

大変詳しいご回答ありがとうございます。
これで解決しました。早速使ってみます。

お礼日時:2008/05/23 10:14

言語は何ですか?


可逆性は必要ですか?
なんちゃって関数でも可?

この回答への補足

ご回答有難うございます。
補足させて頂きます。

言語は何でも構いません。
ただ、私はプログラミングに関して全くの素人なので、できれば C, Java, Perl あたりですと幸いです。

可逆性は特に必要ありません。可逆でも、不可逆でも構いません。
なんちゃって関数というのは、オリジナルの関数という意味でしょうか ?
誠に勝手ながら、一般に公開されているようなアルゴリズムをお教え頂きたいです。

補足日時:2008/05/11 21:06
    • good
    • 0
この回答へのお礼

ANo.1 の方の補足欄に書いた内容に誤字がありました。
> 8 ~ 10 桁程度のりです。
は、
> 8 ~ 10 桁程度の誤りです。
の誤りです。
再度訂正してお詫び申し上げます。

お礼日時:2008/05/11 21:10

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