ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.4004942 文字列を数字に変換する暗号化方式
質問者:_--_--_-_- 与えられた文字列を、可変長 ( 6 〜 10 桁程度 ) のアラビア数字に変換するような暗号化方式やハッシュ関数を探しています。
あるいは、出力結果が数字で、名前が付いている方式ならば、それに近いものでも構いません。
どなたかご存知の方はいらっしゃらないでしょうか。
ご回答よろしくお願い致します。
困り度:
  • 暇なときにでも
質問投稿日時:
08/05/07 20:09
この質問に対する回答は締め切られました。

回答良回答10pt

ANo.3 java であれば
http://java.sun.com/javase/6/docs/api/java/util/zip/CRC32.html

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

Perl であれば以下のサイトが参考になるかもしれません。
http://multix.jp/cgi-bin/cdiary2/2003-04-05.dml.html
回答者:junkUser
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/11 21:27
この回答へのお礼大変詳しいご回答ありがとうございます。
これで解決しました。早速使ってみます。

回答

ANo.2 言語は何ですか?
可逆性は必要ですか?
なんちゃって関数でも可?
回答者:junkUser
種類:補足要求
どんな人:一般人
自信:参考意見
回答日時:
08/05/11 10:20
この回答への補足ご回答有難うございます。
補足させて頂きます。

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

可逆性は特に必要ありません。可逆でも、不可逆でも構いません。
なんちゃって関数というのは、オリジナルの関数という意味でしょうか ?
誠に勝手ながら、一般に公開されているようなアルゴリズムをお教え頂きたいです。
この回答へのお礼ANo.1 の方の補足欄に書いた内容に誤字がありました。
> 8 〜 10 桁程度のりです。
は、
> 8 〜 10 桁程度の誤りです。
の誤りです。
再度訂正してお詫び申し上げます。

回答良回答20pt

ANo.1 md5の16進数を10進表現にするとかなり大きくなりそうですね。
crc32だと10進数で10桁のようです。crc16だと5桁です。
crcはソースも公開されてるし、簡単なので、桁を小さくすることも
簡単だと思いますよ。
回答者:superside0
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:
08/05/08 13:28
この回答への補足申し訳ありません。1 つ質問を訂正させて頂きます。
質問文では 「 アラビア数字 」 と書きましたが、そうではなく、負の数を含む「 整数 」 に変換する方式を探しています。
また、桁数の目安として 6 〜 10 桁程度と書きましたが、8 〜 10 桁程度のりです。
引き続き、ご回答お待ちしております。
この回答へのお礼ハッシュ値を 10 進整数に直すという方法もありますね。
CRC というのは巡回冗長検査のことですか。初めて知りました。
是非とも参考にさせて頂きます。
ご回答有難うございました。