我正在一个处理金融数据的在线平台上工作,我希望对所有数据进行加密,以避免泄露个人密码以外的任何方式的信息。我希望你能在以下方面帮助我:
该平台在php文件和mysql数据库之间进行交互。用户个人密钥由session_id定义,在登录后给出。
表1: user (user_id、email、password等)--这将存储任何用户登录到我们平台并访问任何模板的相关数据。
表2:User_template1_data (template_user_id,user_id,电子邮件,姓名,具体信息)这将将特定数据存储到数据模板中。
表3,4,5,6:日志 (log_id、日期时间、详细信息、template_user_id等)。
在日志表(可以是支付、作业、“扩展”等)中,我们存储除了用户以外的其他任何人都无法读取的敏感数据,甚至是管理员,除非被授予访问权限。
现在,我想到的方式如下:
示例:
表1:
user_id - Name - email - pass
1 - Jay - jay.. - (salt / hashed)表2:
User_template1_data, user_id, division *
1 - 1 - Jay - jay.. - accountantphp将看到用户1显然是一个会计师。这并不是真正敏感的数据。
在表3中,我们添加了以下数据:
> log_id - User_template1_data - date - client - earnings 1 - 1 -
> 2016,01,01 - Gucci SLR - 5000,00 2 - 1 - 2016,02,01 - Prada SLR -
> 51000,00 3 - 1 - 2016,03,01 - Chanel SLR - 15000,00这个连接应该被加密,所以没有人能看到数据库中的连接。我在想以下几点,如果我错了,请纠正我:
> log_id - User_template1_data - date - client - earnings 1 - hash and
> salt the User_template1_data - 2016-01-01 - Gucci SLR - 5000 2 - hash
> and salt the User_template1_data - 2016-02,01 - Prada SLR - 51000 3 -
> hash and salt the User_template1_data - 2016-03-01 - Chanel SLR -
> 15000这样,只有登录的人,存储的敏感数据加密,它就不会被解密。
我是一个加密新手,所以请告诉我,如果我错了,最重要的是,我应该使用哪种加密,我应该如何建立它等等。非常感谢!
发布于 2016-07-01 10:56:11
一般来说,你应该建立数据库,这样它才能被信任是安全的,但它可能是一个有趣的实验来解决这个问题。最重要的部分是在您的编程语言中使用标准的加密方法,如果使用php,则使用openssl包。
在这里,使用salt的哈希不会有多大帮助,因为散列是一种单向操作,所以即使是拥有数据的用户也无法解密它。
我会去找些像
我建议使用AES-256-CBC加密。
如果要将它用于实验或学习以外的其他方面,我建议首先为其寻找现有的解决方案。
此外,请记住,如果用户忘记密码,则无法获取数据。
https://stackoverflow.com/questions/38142248
复制相似问题