7

base64_encode()関数でエンコードされた文字列を主キーとして含む列を使用したいと考えています。しかし、でエンコードされたときに同じ文字列が異なる値を取得する場合、それを知ることができませんでしたbase64_encode()

SQLクエリでエンコードされた文字列を使用してキーの存在を確認する必要がありますか、それともDBからすべての値を取得し、それらを1つずつデコードしてそのキーが存在するかどうかを確認する必要がありますか? base64_encode()それは、関数が特定の文字列に対して常に同じ出力を作成するかどうかを知ることに依存します。そうですか?

前もって感謝します。

4

3 に答える 3

7

はい、関数 base64_encode() は、特定の文字列に対して常に同じ出力を生成します。これを決定論的関数または決定論的アルゴリズムと呼びます。

http://en.wikipedia.org/wiki/Deterministic_algorithm

于 2013-01-08T21:17:33.227 に答える
2

base64 エンコーディングは、常に同じ方法でデータをエンコードします。文字列の元のエンコーディングは、別の base64 エンコーディングで生成される可能性があることに注意してください。

PKが私を打ち負かすのに、一体なぜ誰かがbase64でエンコードされた文字列を使用するのでしょうか

于 2013-01-08T21:22:23.313 に答える
1

base64_encodeは一貫性があり、同じ入力に対して同じ値を返します

于 2013-01-08T21:16:49.690 に答える