程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何加密MySQL表中的特定列?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何加密MySQL表中的特定列??

开发过程中遇到如何加密MySQL表中的特定列?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何加密MySQL表中的特定列?的解决方法建议,希望对你解决如何加密MySQL表中的特定列?有所启发或帮助;

在此处查看可能的加密功能列表:

http://dev.mysql.com/doc/refman/5.1/en/encryption- functions.HTML

您可以创建更新触发器并在其中检查字段accessable@H_404_6@。像这样:

CREATE TRIGGER crypt_trg BEFORE UPDATE ON table FOR EACH ROW
BEGIN
  IF new.accessable = 0 THEN
    SET new.msg := ENCRYPT(new.msg, 'key');
  ELSE
    SET new.msg := DECRYPT(new.msg, 'key');
  END IF;
END;
@H_404_6@

您还可以使用以下查询更新表中的所有现有记录:

UPDATE table SET msg = IF(accessable = 0, ENCRYPT(msg, 'key'), DECRYPT(msg, 'key'));
@H_404_6@

因此,您可以为您的PHP代码选择记录:

SELECT msg_ID, user_ID, time, IF(accessable = 0, DECRYPT(msg, 'key'), msg) msg
FROM table
@H_404_6@

同样在这里是类似的问题:

MySQL加密列

解决方法

我正在尝试创建一个使用MySQL表存储条目的简单消息系统(PHP)页面。我将在表中使用的列的粗略概述为:

msg_id (主键,auto_increment)

user_id (指向创建消息的用户的外键)

时间 (提供味精时间戳记的DATETIME条目)

msg (包含味精的VARCHAR)

可访问的 (仅是一个int(1),0表示除用户本人可以读取msg之外没有其他人,而1则意味着其他人可以读取它)

我想知道的是,加密 味精 字段的最佳方法是什么,这样撬开的眼睛就无法读取它(也就是说,通过打开mysql
CLI或phpMyAdmin并读取连续存储的值)?

如果将“
accessable”设置为0,则只有他/她自己的用户才能读取它(通过访问某些PHP页面),但是如果设置为1,则其他所有人也应该能够读取它。我不知道该如何解决,因此非常感谢您的帮助!

大佬总结

以上是大佬教程为你收集整理的如何加密MySQL表中的特定列?全部内容,希望文章能够帮你解决如何加密MySQL表中的特定列?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: