2015-12-05 28 views
0

將在我的服務器上定期發送聯繫人列表。然後,我需要將哈希編碼並存儲在沒有初始值的數據庫中(僅哈希值)。如果我兩次接觸到聯繫人,則散列值必須與此相同。目前我想使用AES加密。要獲得相同的哈希兩次,有必要使用相同的密鑰和相同的初始化向量,並且它看起來非常不安全。其中一個解決方案可能就是一代人的關鍵,也是一種聯繫。所有聯繫人都使用一把鑰匙和四把手。這個主意不好嗎?你能提出另一種解決方案嗎對一些明文進行兩次編碼並得到相同的散列

+3

你似乎是混亂的散列和加密。 AES是一種加密算法,而不是散列算法。嘗試使用SHA-256。 –

回答

1

這取決於你想要做

  • 編碼後檢索清晰的數據存儲聯繫人什麼做,那麼你必須使用加密:AES例如

  • 或只是其中的一些痕跡看看你是否已經擁有它們:那麼散列就足夠了。這是不可逆的。 SHA爲例

您是否收到明確的數據?那麼你必須做兩件事中的一件。

之後,你想怎麼做?

  • 與數據加密,您可以將其解密

  • 與哈希,你只能如果再次看到它。

整個數據,還是僅僅是一些部分? (密碼爲例)

哈希計算:How to hash some string with sha256 in Java?

+0

謝謝,在我的情況下,它應該是散列。例如 – Putin

+0

@Putin,請參閱此鏈接 –

相關問題