php代码中数据库加密,php – 加密和解密数据库中的所有数据

我希望能够加密我在MySQL数据库中保存的所有数据.我还需要能够使用私钥解密数据.

该数据库可由多个人访问.

我想知道我需要使用什么PHP功能才能实现这一目标.

谢谢

解决方法:

加密整个数据库是很麻烦的,除非数据库提供“透明加密”,Oracle数据库提供了这样的东西.使用透明加密的轻量级开源解决方案是SQLite.使用此功能,加密不直接应用于数据,但存储本身是加密的.这意味着您可以照常处理数据库,并获得物理存储加密的额外好处.但不幸的是,MySQL没有提供这样的东西.

首先,为什么加密整个数据库不是一个好主意.加密数据看起来像数据库的随机垃圾.这意味着很多负面的事情,比如

> SELECT不再像以前那样处理您的数据,如果有的话(需要付出很多努力)

>索引变得毫无用处

>数据库日志变得无用

> ……

如果使用MySQL的内置encryption support进行加密,那么这意味着数据本身以纯文本形式发送到数据库 – 除非您使用TLS安全连接,这意味着窃听者根本不会关心您的加密.

因此,如果您需要加密数据,则应将其保持在最低限度,并且只加密数据的真正敏感部分,以便仍能够对其执行有效查询.如果在应用程序和数据库之间不可能建立安全的TLS连接,您还应该直接在应用程序中加密数据.

标签:php,mysql,database,security

来源: https://codeday.me/bug/20190716/1482304.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值