0

コードでnビットをn+xビットで非順次にレンダリングしたい。グーグルしたいのですが、用語がわからないのでグーグルフーが機能しません。

たとえば、最初の列(2ビット)の入力値は、以下のコンマ区切りの2番目の列(4ビット)の出力値のいずれかとしてエンコードされる場合があります。

 0  1,2,7,9
 1  3,8,12,13
 2  0,4,6,11
 3  5,10,14,15

私の目標は、整数IDのリストを取得し、永続URLで引き続き使用できるように変換することですが、それを順番に繰り返し/列挙することはできず、クライアントが検索でURLかどうかをプログラムで判断できない場合結果セットは、再度アクセスせずに以前にアクセスされています。

4

1 に答える 1

1

このプロセスを「エンコード」と呼びます。データで許可されていない特殊な記号を持つ通信チャネルの使用を許可するために、同様のことが行われていることがわかります。例: uuencoding および base64 エンコーディング。

とは言うものの、正しいデコードが 1 つしかないことを確認する必要があります (そして、最初は赤面したように見えます)。出力のサイズの増加を受け入れます (上記の場合、出力は入力のビット単位でサイズが 2 倍になります)。

安価な暗号+サーバーに保存されている一定の秘密鍵を使用して番号を暗号化し、最後にランダムな文字または4文字を追加し、安価なチェックサムを追加して、単純に応答を拒否する方がよいと思います有効なチェックサムがありません。

<encrypt(secret)>
    <integer>+<random nonsense>
</encrypt>
+
<checksum()>
    <integer>+<random nonsense>
</checksum>

次に、最初の部分を解読し (安い == 速いことを思い出してください)、チェックサムを使用して暗号文を検証し、ランダムなナンセンスを破棄して、保存した整数を使用します。

ここにはおそらくいくつかの暗号化禁止事項がありますが、それに直面してみましょう。このアルゴリズムが破られた場合のコストは、ほんのわずかです。

于 2012-08-01T05:22:26.920 に答える