URL短縮サービスを作成するにはどうすればよいですか?
入力フィールドに長いURLを書き込むことができ、サービスがURLを「http://www.example.org/abcdef」に短縮するURL短縮サービスを作成したいと考えています。 「abcdef」の代わりに、を含む6文字の文字列がありa-z, A-Z and 0-9ます。これにより、560〜570億の文字列が可能になります。 私のアプローチ: 3つの列を持つデータベーステーブルがあります。 id、整数、自動インクリメント long、string、ユーザーが入力した長いURL 短い、文字列、短縮されたURL(または6文字のみ) 次に、長いURLをテーブルに挿入します。次に、「id」の自動インクリメント値を選択して、そのハッシュを作成します。このハッシュは「short」として挿入する必要があります。しかし、どのようなハッシュを作成する必要がありますか?MD5のようなハッシュアルゴリズムでは、文字列が長すぎます。私はこれらのアルゴリズムを使用しないと思います。自作のアルゴリズムも動作します。 私の考え: 「http://www.google.de/」の場合、自動インクリメントIDを取得します239472。次に、次の手順を実行します。 short = ''; if divisible by 2, add "a"+the result to short if divisible by 3, add "b"+the result to short ... until I have divisors for a-z and A-Z. これは、数値が割り切れなくなるまで繰り返すことができます。これは良いアプローチだと思いますか?もっと良いアイデアはありますか? このトピックへの関心が継続しているため、JavaScript、PHP、Python、Javaの実装を使用して、GitHubの効率的なソリューションを公開しました。必要に応じてソリューションを追加してください:)