我一直在寻找我的web应用程序的数据库层加密。 它使用MySQL 5.1(或更高,我不记得的副手)。
该应用程序,通过我的组织管理,公共客户端存储数据。
最简单的选择是AES_ENCRYPT / AES_DECRYPT如果坏人不知何故虎子访问到我的数据库(假设他们不知道密钥),这将有助于。
不过,我想更进一步借此,防止在我的组织任何人能够查看存储为客户在其未加密形式的任何数据。
我们使用这个前提下,为存储密码; 我们加密在应用程序级的原始密码,并将它与在数据库级别的预加密PWD。 这显然是一个很常见的方法,但我们必须从用户那输入 - 有什么,我试图做的关键区别是,我们不能从存储未加密的“密钥”,并使用该用户的密码是有问题的,因为(除原因另一个堆),如果他们改变它,所有的加密数据将不得不改变。
我不能让我的头围绕这个观点(你可能已经猜到我不是在密码学方面的专家),但预计谷歌抛出了几个三分球。 不幸的是,没有多少我能找到。 我将是从哪里开始研究任何指针感激。