2017-02-24 24 views
-2

我將舉例說明我的情況。我正在使用PostgreSQL,我已經通過postgresql crypt()函數文檔。在數據庫層或應用層散列數據

此函數是作爲postgresql的擴展提供的。

如果我通過不同的供應商將我的數據遷移到另一個數據庫,請問密碼是否仍然正確評估?

如果我嘗試比較PostgreSQL中與生成的散列散列使用相同的源串由MySQL/mongodb的提供UTILITES它將評價爲等於或不

回答

0

根據docscrypt()

計算密碼(3)風格的密碼散列。當存儲新的密碼時,您需要使用gen_salt()來生成新的salt值。若要 檢查密碼,將存儲的散列值傳遞爲鹽,並測試 結果是否與存儲的值匹配。

這意味着,如果你將數據遷移到另一個數據庫(如果存儲的哈希值是你的,當然數據的一部分),比較的結果將不依賴於系統。

+0

我關心的是加密功能可以跨數據庫不同.Will和PostgreSQL生成的哈希值評估源數據到其它數據庫 –

+0

提供再更新你的問題的工具。當你爲postgres添加標籤並說你想將數據移動到另一個數據庫時,人們認爲你的意思是你正在將數據移動到另一個postgres數據庫。請清楚地說明你想遷移到不同的供應商,而不是數據庫 –

+0

我已經編輯了我的問題,因爲你告訴我,但我的疑問仍然不清楚 –

0

您可以將加密/解密升級到應用程序級別嗎?在這種情況下,您可以將數據遷移爲加密數據,並且其他數據庫供應商無需擔心會將它們視爲正常數據?

另一種選擇是加密磁盤級別而不是在數據庫級別應用加密。

0

經歷了很多帖子後,我發現在應用層進行加密更好。比如在java中加密密碼,我們可以使用jBcrypt庫。