2010-04-21 63 views
1

由於某些合規性要求,我們必須加密數據庫中的用戶DOB字段。我們還有另一個要求,可以根據他的年齡搜索用戶。我們的數據庫不支持透明加密,所以加密將由應用程序處理。從加密的DOB字段獲取年齡

有關如何允許按年齡搜索的好主意?一個想法是以明文形式將YOB保存在單獨的列中,並且仍然能夠符合我們的合規性要求。

除此之外,還有哪些其他的設計策略可以提供幫助?

提前致謝!

回答

1

您可以預先計算應用程序中所有可能的DOB的散列值,將它們與加密的DOB同時存儲,並使用這些散列值搜索DOB。

不確定這會對您的合規性產生什麼影響。

+0

那麼這將如何工作?我可以看到這將如何幫助找到特定年齡的所有用戶,例如。 55;但在55-65歲之間找到所有用戶時根本沒有幫助。 – mailforbiz 2010-04-21 21:01:04

+0

至少不容易。我們當然可以對特定年齡進行蠻力搜索並將它們加在一起。 – mailforbiz 2010-04-21 21:02:27

+0

@Mailforbiz - 這是加密/散列這類數據的問題。您無法輕鬆查詢。 – Oded 2010-04-22 06:16:04

1

如果你確定它仍然符合規範,那麼我認爲它可以工作。您可能需要帶回2年價值的YOB,然後在應用程序方面進行一些額外的過濾,以確保您只返回真正屬於所需年齡的人。