求数据库加密方案

关于数据库加密的疑问?

1.使用过加密方式

就我目前使用过的就只有字段级别的加密,也就是常见的用户隐私数据、密码等信息进行了加密。比如是laravel提供的Hash::make()的加密,但是这种加密方式不可逆,只适合对密码进行加密。

2.了解过的加密方式

GPT上传得到的内容如下:

加密存储引擎:MySQL 提供了一些加密存储引擎,如 InnoDB,可以加密整个表空间,包括数据和索引。这种方法对数据库内部的数据进行加密。
字段级加密:你可以选择只加密部分敏感字段,而不是整个表。这可以通过在插入和选择时使用加密和解密函数来实现。
外部加密库:使用外部加密库(如 OpenSSL)在应用层对数据进行加密,然后将加密后的数据存储在数据库中。
Transparent Data Encryption (TDE):虽然 MySQL 本身没有原生的 TDE 功能,但你可以使用操作系统的加密功能来对整个数据库文件或文件系统进行加密。
加密网关:通过加密网关作为数据库访问的中间层,可以在传输过程中对数据进行加密和解密。
第三方加密库:一些第三方加密库提供了更高级的加密方法和算法,你可以选择使用它们来加密数据。
应用层加密:你可以在应用程序中对数据进行加密,然后将加密后的数据存储在数据库中。
数据加密代理:使用数据加密代理来处理数据库请求,它会在数据库和应用之间进行数据加密和解密。
硬件加密设备:一些硬件设备提供了数据库加密的解决方案,可以在硬件级别上加密和解密数据。

3.我想要的或者说我的最终目的

就算是拿到了我服务器的权限、拿到了我的数据库文件,也不会将信息泄露。

大家实际应用中是怎么进行操作的。字段加密也好,第三方加密也行,大家说说看法。

我爱大可乐
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 22
随波逐流

为什么会有这么变态的要求 :joy:

8个月前 评论
如此甚好 8个月前
Mr_Choi 8个月前

整个数据库的数据都进行加密 ?

自增主键也要加密吗?学生弱弱的问问楼主做什么项目?

8个月前 评论
SonyXbox (作者) 8个月前
我爱大可乐 (楼主) 8个月前
goStruct

建议头给他打断,这种傻逼需求。

8个月前 评论
goStruct (作者) 8个月前

建议头给他打断,这种傻逼需求。

8个月前 评论
我爱大可乐 (楼主) 8个月前

我们就做了,好几种办法。 一种阿里rds有这个付费服务。 二种,就是自己在model层set入库前做加密,如果有特殊的写法的地方,那就单独加密。网上有很多例子,读取的时候解密

8个月前 评论

laravel自带的对称加密方法: use Illuminate\Support\Facades\Crypt;

$encryptedData = Crypt::encryptString('Sensitive data');

$decryptedData = Crypt::decryptString($encryptedData);

8个月前 评论
  1. 数据加密、解密
  2. 支持查询, 全等查询、 模糊查询
  3. 泄露后不能解密(这个比较难吧)

符合前两条的有吗

8个月前 评论

只能手机号,身份证号关键信息加密了。要不然性能太差

8个月前 评论

其实拿到服务器权限说什么加密解密有什么用。真正重要资料直接删库删表就不怕了。如果为了任务 1.应用层读取时解密,写入时加密,使用对称算法。 2.mysql innodb插件支持。 2种方法都有优劣势。

8个月前 评论
sanders

一般只加密敏感信息,如用户手机号、邮箱、收件地址,平台账号,符合等保要求即可。

8个月前 评论

我一般用国密sm4 对关键数字加密,但加密后一般都不到持摸湖查询的,要实现自己单独建个表做分词加密,然后关键字用wherHas 关联查询

8个月前 评论

msyql 有自带的加解密

7个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!