問題タブ [base62]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 生成できる shorturl ハッシュの量を知る方法は?
base62 の小さなアプリで生成できる shorturl ハッシュの量を知るにはどうすればよいですか?
だから、私がこのように書くと;
pow() を試してみましたが、それは間違っていたと思います。
結果;
php - 結果に明らかなパターンがない状態でBase62でエンコード/デコード機能を実行するにはどうすればよいですか?
私は、ユーザーが通常のハッシュパラメータを含む各ユーザーの特定の(しかし長い)確認リンクを備えた一般的な電子メール確認スクリプトを使用して電子メールを確認する必要があるサイトを持っています。
私が抱えている問題は、使用しているデバイスが原因で、長くて複雑な確認リンクに問題があるユーザーがいることです。
そのため、ユーザーごとに一意の確認リンクを生成する別の方法を作成する必要があります。これにより、パターンが明確にならず、理解されたり悪用されたりすることがなくなります。
私はBase62のエンコードとデコードを見てきましたが、私が見つけたものは数字のみに基づいているため、シーケンシャルな一意のユーザーIDを使用することに制限され、エンコードされた結果に明らかなシーケンシャルパターンが作成され、簡単に悪用される可能性があります。
できれば、DBを変更する必要のないソリューションが必要です。
理想的には、基本的にBit.lyや他のURL短縮サービスが独自のURLを作成するのと同じように短縮URLを作成したいのですが、それはユーザーID、ユーザー名、または電子メールのいずれかからエンコードおよびデコードでき、できればエンコード/デコードは、エンコードされた結果にパターンが現れないように、一意のキーで「ソルト」されます。
例:
したがって、確認リンクの代わりに次のようになります。
私はそれを次のように見せたいです:
次に、Sg5rdnをデコードして、ユーザーのユーザー名、ユーザーID、または電子メールを取得し、それらを確認します。
これも可能ですか?
php - 母音なしでBase62番号を自動生成しますか(PHP)?
これは些細な質問になるかもしれません-私が取り組んでいるアプリのためにこれをすぐに行う必要があることはわかっていますが、まだ実際には取り組んでいません-私は実際にそれを浮かせて見るだけです明らかな方法があれば、私は行方不明です。
基本的に、私が必要としているのは、母音がない場合を除いて、az、AZ、0〜9を使用して数列を生成することです。予測できないようにする必要がある可能性はわずかです。そのため、順不同で生成できることはボーナスです。
私は最初、新しい母音の一致ごとに、最後の母音なしの一致から次の一致が見つかるまで前進することを考えています(または、予測できない値の場合は、まだ持っていないものが得られるまで乱数を生成します)。より良い方法はありますか?おそらく、許可される文字を指定できるbaseX番号システムobjですか?
重要な場合はPHP/MySQLを使用します。
security - カスタム Base 62 エンコーディングをデコードするのはどれくらい難しい/簡単ですか?
パーマリンクでデータベースIDを難読化するために私がやろうとしていることは次のとおりです。
1) ID と長い秘密鍵のXOR
2)可逆的な方法で、XOR された整数のビットを少しスクランブル(回転、反転、反転) します。
3) Base 62は、結果の整数を、すべての英数字 (A-Za-z0-9) のシーケンスをスクランブルした独自の秘密でエンコードします。
Base 62 エンコーディングを Base 10 に変換するのはどれくらい難しいでしょうか?
また、プロセス全体をリバース エンジニアリングするのはどのくらい難しいですか? (明らかに、ソースまたはコンパイル済みコードのピークをとることはありません) 「XOR のみ」が基本的な分析の影響をかなり受けやすいことはわかっています。
編集:結果の長さは 8 ~ 9 文字を超えてはなりません。3DES と AES は非常に長い暗号化テキストを生成するようであり、URL では実際には使用できません。
結果の文字列は次のようになります。
ご覧のとおり、1 は 2 のようには見えないため、これは ID の難読化にうまく機能しているようです。
javascript - JavaScript base62 エンコードのパフォーマンスへの影響
JavaScript ファイルを base62 でエンコードすると、ファイル サイズは小さくなりますが、パフォーマンスは低下します。しかし、どのように、正確に?
JavaScript ファイルが読み込まれると、JavaScript エンジンはファイルを 1 回だけエンコード解除する必要がありますか?それとも、スクリプトの実行時にリアルタイムでエンコード解除する必要がありますか?
ファイルが 1 回だけエンコード解除された場合、そのファイルはどこに保存されますか?
c# - 文字列を BASE62 に変換する
次のように、文字列を BASE62 に変換する C# コードを探しています。
http://www.molengo.com/base62/title/base62-encoder-decoder
URL エンコーディングには、これらのエンコード方法とデコード方法が必要です。
php - base64 を base62 に変換します (特殊文字なし)
URL でフグの暗号化された文字列を渡し、それを base64 のようにエンコードしたいのですが、特殊文字がなければ、base62 のようなものが最適です (0-9a-zA-Z)。だから私がしようとしているのは、base64_encode を使用してフグの暗号化された文字列を変換し、base64 を base62 に変換することです。
base64 を URL セーフにする方法については知っていますが、文字列に特殊文字を入れたくありません。convert_base() は 36 までの基数でのみ機能し、数学拡張機能は基数 62 まで変換できます。
PHP を使用して base64 文字列を base62 に変換する方法を知っている人はいますか?
java - 一意性を維持しながら Java UUID を短縮する
UUIDと同じ一意性を維持しながら、Java UUIDを短くしようとしています。次のコードを書きました。
私はそれを正しく行っていますか、それとも重要なことを見落としていましたか?
python - TypeError:base62をデコードしようとしている間、「int」オブジェクトは反復可能ではありません
関数を記述しようとしていdecode base62
ますが、python で次のエラーが表示されます。
このコードはフラスコの外で完全に機能します。しかし、フラスコでは機能しません。
コードは以下の通りです:
このコードはフラスコの外では問題なく動作しますが、Flask アプリから呼び出すとエラーが発生します。
ruby - 文字セットの最初の文字を省略した文字列から整数への変換
これはルビー固有の問題というよりも一般的な問題です。たまたまルビーでやっているだけです。Base62 (0-9a-zA-Z) などの文字セットを使用して、文字列を Integer/Long/Bigint、または任意の名前に変換しようとしています。
問題は、「0ab」のような文字列を整数に変換しようとすると、その整数が「ab」になる文字列に戻されることです。これは、アルファベットの最初の文字から始まるすべての文字列で発生します。
同じ問題がある実装例を次に示します。
https://github.com/jtzemp/base62/blob/master/lib/base62.rb
実際に:
私は明らかなことを見逃しているかもしれません。
その例外なしで双方向に変換するにはどうすればよいですか?