【发布时间】:2013-06-20 06:17:23
【问题描述】:
这似乎有些琐碎,但我花了一些时间谷歌搜索没有结果。无论如何,我正在开发一个 Web 应用程序,我需要将“敏感”数据存储在 mysql 数据库中,然后访问它以验证来自 python 的 api 调用。我不是安全专家,但我对散列和加密有基本的了解。
我知道如何使用 aes_decrypt aes_encrypt 加密数据,我也知道如何使用 mysql 提供的 password() 函数对数据进行哈希处理。
我的第一个问题是我应该加密这些数据还是散列它?我的第二个问题是,一旦我使用 mysql 中的 password() 函数对其进行哈希处理,我不知道如何在 python 中“访问”或“使用”密码信息。
非常感谢任何帮助。
【问题讨论】:
-
您是否希望安全地存储您的数据(在数据库级别加密)和/或在您的网络之间传输时保护您的数据服务器和您的数据库服务器(使用安全通信通道)?
-
由于网络应用程序正在存储用户提供的数据,我想在从网络应用程序到数据库的传输过程中保护它,并在它进入数据库后对其进行哈希处理,以防有人获得访问权限到服务器。
-
您不能将 data 存储/交换为hash,因为“散列”是从可变长度数据到固定长度数据的映射——引入了某种数据丢失。否则,“散列”(在一般情况下)是不可逆的。您无法从哈希中取回原始数据。您可能正在这里寻找encryption。
-
要输入的数据是固定长度的,但是是的,我需要检索它,然后用它做“事情”。所以加密似乎是要走的路。
标签: python mysql encryption hash