【发布时间】:2023-04-03 05:28:01
【问题描述】:
我正在使用 PHP mcrypt 库使用 AES 加密和存储 (MySQL) 数据。
我想知道是否有一种好方法可以做到这一点,而无需在我的代码中使用硬编码的加密/解密密钥。
如果黑客访问了我的服务器,他将能够看到文件和我在代码中的密钥,从而访问数据库上的所有数据。
谢谢。
【问题讨论】:
-
你需要一个钥匙。最好将其存储在您的代码中,而不是存储在加密数据所在的数据库中。
-
是的,但我想知道是否有更安全的方法。将密码存储在代码中会破坏整点。唯一有效的情况是黑客只能访问数据库,而不是整个服务器。
-
没错。这通常是重点。如果他们获得了数据库转储或对数据库服务器的访问权,他们将无法使用该信息。如果他们能够访问网络服务器,那并不重要,因为他们将能够做任何事情,包括拦截呼叫/数据和逆向工程
-
一般来说,如果服务器被入侵,那么一切都会被入侵,所以在服务器上对称地加密你的数据库数据并没有真正的帮助,所以不要这样做。
-
使用 AES 加密数据是存储信用卡信息的常规做法。您无法绕过将密钥存储在网络服务器上。
标签: php encryption mcrypt