2011-06-22 4 views
0

DATAをDATAENCODED ...に変換するにはどうしたらいいですか?後でDATAENCODEDをプログラムで逆にDATAに戻す必要がある場合は、大規模なmysqlテーブル内で低セキュリティで1つの列をエンコードし、それを逆にするにはどうすればよいですか?

これは10K行のファイルなので、プログラムでなければなりません。また、これは単に "不便"レベルのセキュリティを意味するので、単純になると、より良い。

ありがとうございます!

+-------+-------------+---------------+----------+ 
    | key |  data |dataencoded | otherdata| 
    +-------+-------------+---------------+----------+ 
    | 1 | fred  |    | apple | 
    |  |   +----->    |   | 
    +-------+-------------+---------------+----------+ 
    | 2 | hat  +------>   |pear  | 
    +-------+-------------+---------------+----------+ 
    | 3 | cat  +---->    |orange | 
    +-------+-------------+---------------+----------+ 
    | 4 | hat  +---->    |grape  | 
    +-------+-------------+--------------+-----------+ 
+0

エンコードまたは暗号化?エンコーディングは、セキュリティの観点からはほとんど「不便」です。 – mhitza

+0

'不都合なセキュリティ? – Johan

答えて

1

それはこれよりも単純取得していません:

UPDATE MyTable SET dataencoded = ENCODE(data, 'password') WHERE ... 

それとも、多少強力な暗号化したい場合:

UPDATE MyTable SET dataencoded = AES_ENCRYPT(data, 'password') WHERE ... 
まあ

大丈夫あなただけのデータをあいまいにしたい場合は、それが簡単になることができます

UPDATE MyTable SET dataencoded = HEX(data) WHERE ... 

参照してくださいENCODE()AES_ENCRYPT()、または0123:、パスワードを使用しません。

+0

ありがとう! UPDATE MyTable SET dataencoded = HEX(data)WHERE ..私はこれを後で逆にして元のデータを取得すると仮定します。 – saul

+0

'SELECT UNHEX(dataencoded)からMyTable WHERE ... ' –