我想存儲在數據庫中加密的配置文件細節。但是,一些細節應該是唯一的,並且由於加密算法隨機化每次加密的種子,因此無法確定該值是否已存儲在數據庫中。如何比較隨機種子的加密字符串?
- 我可以循環遍歷每一行並解密必要的列,但如果行數很大,這將花費太長時間。
- 我可以存儲這些(未加密的)細節
的散列值,但是這將首先終止加密點。
那麼,如何比較一個加密的字符串(隨機種子)與其他人保存在數據庫中?
任何幫助,高度讚賞。加密是使用php(MCRYPT_RIJNDAEL_256
/NOFB
),數據庫是MySQL。
編輯/解決方案:除了加密值之外,存儲數據散列似乎是我最好的解決方案。這使得驗證獨特的列對我來說足夠簡單。感謝大家離開他們的評論/答覆。
有趣的問題,雖然我不認爲有一個答案超越「將它們未加密地存儲在單獨的列中」......但我們將看到 – 2012-01-02 09:46:47
我會使用與用戶相關的鹽的哈希,如他們的用戶名這樣,如果一個用戶的配置文件字段是已知的,則不能推導出在該字段中具有相同的非哈希值的另一個用戶,因爲它們的散列值將會不同。 – halfer 2012-01-02 09:52:52
@Pekka是的,我們來看看...... – Alasjo 2012-01-02 09:54:13