加密数据库内容

AAA*_*AAA 0 database encryption hash md5 salt

如果我没有错,当你想加密数据库中的内容时,你将使用md5.我现在用它来输入密码.但现在我想为企业客户的所有个人信息添加加密.以下是我的问题:

  1. 如果我md5的一切,将PHP显示一切正常的方式,就像没有md5?

  2. 当我允许编辑内容时,我将不使用md5显示信息,然后在提交时添加md5,对吗?

  3. 如果有人访问数据库,他们只会看到md5.但如果他们下载然后删除md5,他们不会看到所有的信息吗?

你可以告诉我在压力下我是一个业余爱好者.如果我对md5的想法错了,请纠正我.如果是这样,我如何加密数据库,记住信息将由用户随时编辑.

谢谢.

Ada*_*son 9

MD5是一种散列算法,而不是加密算法.哈希是一种方式 ; 也就是说,您不能将散列数据转换回原始数据.MD5用于散列密码(好吧,散列算法用于散列密码...... MD5通常被认为是不安全的,不适合涉及安全性的应用......比如密码),因为你关心的是密码是否匹配,而不是密码实际上什么.这允许您在数据库中存储令牌(哈希),您可以使用该令牌进行比较,而无需实际存储密码.

如果您要对数据库数据进行应用程序级加密(而不是依赖于任何特定于RDBMS的加密功能),那么在将数据放入数据库并解密数据之前,您将始终必须对数据进行加密(在代码中).(在代码中)每当你数据库中取出它.对于这样的系统,通常使用像AES这样的对称密钥加密算法.