在PHP中使用公钥/私钥加密存储私钥的位置?

时间:2018-04-22 17:18:42

标签: php encryption private-key

我目前正在为学校开发LMS。我想加密学生获得的成绩,这样只有学校管理员,教师和学生才能访问成绩。我不希望能够看到成绩,而且我也不希望有人以某种方式访问​​数据库以查看成绩。

以下是我如何思考我将成绩存储在数据库中,但我不能100%确定这是好还是最好。

  1. 每位用户(教师,管理员,学生)都有公钥和私钥
  2. 教师评分作业
  3. 使用多个公钥(每位教师和管理员的密钥以及学生的密钥)对成绩进行加密,然后将其存储在MySQL数据库中
  4. 当教师,管理员或学生访问某个页面以查看成绩时,该等级会被该用户的私钥解密。
  5. 私钥可以存储在数据库中,由用户密码加密。当用户登录(使用他们的密码)时,他们的私钥会被解密,然后存储在会话变量(或cookie)中,以便在会话期间用来解密成绩。
  6. 有一件事(我认为)使这一点变得困难的是,不可避免地会有员工变动(新的管理员,教师被替换等),我需要所有教师和管理员访问所有成绩。那么当新用户帐户有权访问时,如何允许新密钥对访问加密数据?

0 个答案:

没有答案