2014-02-06 66 views
0

我需要檢查是否有關於我的數據庫(Oracle)的一些修改,比較字符串是否加密?

爲了防止檢查column by columnchar by char我認爲它能夠更好地連接起來進行加密的所有列,而是比較所有字符的加密字符串。

達到此目的的最佳方法是什麼?

該方法比正常字符串更好嗎?

+0

怎麼樣一個簡單的「最後更新」列? – PeeHaa

+0

你的意思是創建這個列或oracle有類似的本地?我無法修改數據庫= /它是一個外部數據庫 – Guerra

回答

1

加密密集。你對散列(MD5,SHA等)更感興趣,因爲你想要的是一個統計上非常渺茫的機會,它在發生變化之後具有相同的事後功能。

但是,只是連接所有列都存在缺陷。

假設我有'bob'的列和'tom'的B列,並且我對它們進行了concat和hash。 如果行後來在A中被改爲'bo'而在B中被改爲'btom',儘管不同,concat和hash會給出相同的答案。

事實上,逐列比較是簡單表格的最佳情況。但是,如果您希望將數據量減少到最低限度,並且行數較長(例如LOB),則此過程可能有所幫助:

  1. 散列每列。 Concat結果。每個哈希的結果將是一個特定的長度,您將避免上述問題。
  2. 散列綜合結果。這將給你一個單一的字符串,你可以比較下一次你需要檢查行。
+0

非常棒,這正是我想要的。 – Guerra