2

やあみんなユニークな base62 ハッシュを生成したい - tinyurl と bit.ly が c# を使って行うことと似たようなもの。これは、bigint 型の自動インクリメント フィールド ID に基づいています (これらのサイトのほとんどと同様)。

最小文字数は 1 で、最大文字数は 6 になります...このハッシュの c# で最速のコード (CPU 使用量が最小) を記述する必要がある場合、どのように記述しますか?

4

2 に答える 2

3

ここで、同様の別のスタックオーバーフローの質問に対する私の回答を参照してください。

DB ID の GUID に代わるより小さな代替手段が必要ですが、それでも URL は一意でランダムです

「ShortCodes」と呼ばれる C# クラスを投稿しました。これはまさにあなたが探していることを行います。つまり、整数/長い数値に基づいて一意の baseX (X は好きなものです!) ハッシュを生成し、元に戻すこともできます。

私は実際、TinyUrl.com や Bit.ly などのサイトの短いコード/ハッシュ生成を自分の目的のために正確に模倣するために、この小さなクラスを正確に作成しました。

これがこれを達成するための絶対的な最速の方法であるかどうかはわかりませんが、正確に遅いわけでもありません! :)

于 2009-09-26T11:10:08.883 に答える
0

Eric Lippert は、同様の以前の質問でルックアップ テーブルを提案しました。彼の答えはあなたの目的にもぴったりです。

于 2009-09-26T10:59:30.733 に答える