「1234」という値を想像してください。その値を他の値、例えば 'abcd'にマップしたいと思います。制約:値を別の値にマッピングして戻す
- 目標値の長さは、マッピングは一意である必要があり、開始値
- に等しいです。例えば。 1234はabcdとviseversaにのみマップする必要があります。
- マッピングプロセスは(非常に)推測するのが難しいはずです。例えば。 2倍すること
- はマッピングが開始値は、最終的に私がよ、
- 目標値は、これは基本的なアルゴリズムである必要があり
任意のタイプのものであることができる整数である
私は、次の線に沿って考えていた:
SECRET = 1234
def to(int)
SECRET + int * 2
end
def fro(int)
(int - SECRET)/2
end
明らかにこれは最終的な目標は、私のデータベース内のレコードを匿名化することで制約1と3
に違反します。私はこれを考えすぎるかもしれない。
短い質問脇:同時に6を確保したい場合は、どのようにして1を保証しますか? – Joey
他の誰かがどのアルゴリズムが使われているかをハッキングすると、気になることはありますか?シンプルなハッシング(あなたが示唆しているように)は、データの匿名性を破壊し易くします。あなたの必要性に応じて、私はハッシュを片方向で見てみることをお勧めします。 – dirkgently
はい、誰かがアルゴリズムをハックすると私は気になりません。本当にちょっと。そして私の解決策が受け入れられないことを知っているので、私は尋ねました。 私は1と6が矛盾しているとは思わない。ポイント1は単に制約を置くだけです。ポイント6はドロップすることができます。タイプは整数、文字などを意味します。 – harm