加密单个字段
加密单个字段指对表的一个字段逐个配置存量历史数据加、解密的功能。
当一个系统需要加密的字段较少时,逐字段、逐表配置加密时,或者第一次初步体验数据库加密系统时,可以加密单个字段。
前提条件
已完成加密基本信息预览。
操作步骤
- 在“字段加密配置”页签,选择“编辑”,页面展示为以下状态。 只有在编辑状态下,密钥关键字下方的“设置”才可以操作,如图1所示。
并非所有的字段后都有“设置”,这是因为并非所有的字段类型都支持列级别的内容加密。例如:上图中DATETIME、DECIMAL等数据类型不支持加密。
- 这时,单击“设置”,就可以当前字段设置加密算法、加密密钥,如图2所示,进入加密规则(算法)选择窗口。加密规则配置的参数如表1所示。
表1 设置解密规则参数说明 参数
说明
选择加密规则
选择当前字段使用的加密算法和加密工作模式,在本系统中叫做加密规则。
如何设置加密规则,请参见加密规则。
选择加密密钥
选择当前字段使用的加密密钥。加密密钥是在加密规则中进行管理的。
如何设置加密密钥,请参见加密规则。
加密位置
根据业务需要,选择加密后字符串保留的部分明文字符。
例如:身份证号码:130602199606071510。
保留前6位不加密,即对“130602”不加密。
源长度
这是一个加密长度模拟计算器。
加密后的数据长度根据算法不同而不同。因此,如果没选择加密规则(算法),则“计算”没法执行。例如:输入:源长度20,单击“计算”。
支持模糊查询
勾选后,加密后数据可支持模糊查询,但是密文长度会占用更多位数。
重置
取消所有的设置的加密规则和加密密钥。
确定
该字段设置为使用选择的加密规则和密钥进行加密。
取消
关闭窗口,不做任何修改。
- 单击“确定规则”后,返回“加密策略设置”页面,查看加密设置是否配置生效。 如图3所示红色标注字段,已经对该字段设置了加密算法和加密密钥。
- 单击“保存”。“加密”由白色变成黑色可操作状态,如图4所示。
- 单字段存量历史数据加密。
在加密软件部署前,数据库中存在或多或少的存量历史数据,在部署插件或者代理之前,需要对存量历史数据进行加密。系统提供了自动化的对存量历史数据加密的方法。
单击“加密”,系统自动开始对存量历史数据开始加密。
存量历史数据加密,系统自动完成了三部分操作:
- 创建一个备份列,备份需要加密的原始数据,预防出现执行意外。
- 因加密会增加数据的长度,系统会自动创建扩字段SQL语句,并执行。
- 对存量历史数据进行加密。
- 加密过程是个复杂、耗时过程,需要花费大量时间。在加密过程中,可以单击“详情”,查看加密进度和服务执行日志,如图5所示。
- 停止加解密:当任务处于加密或解密过程中,如果需要停止加密或者解密,可单击“停止加解密”中断当前操作。后续如果想继续加密/解密,可单击字段操作列中的“加密”或“解密”对该字段继续进行加密/解密。
- 缓存元数据:这是一个产品自身安全功能,用于缓存资产库的元数据,防止自身的API伪造。
- 加密完成后,用户通过SQL工具查询数据库数据,确认明文数据已加密,如图6所示,NAME字段已通过加密软件进行了加密。
执行字段解密
对存量历史数据,对数据加密后,有时也需要对数据进行解密。
当数据量比较大时,存量历史数据的解密也是非常耗时的工作。
- 对于已经加密成功的字段,可以单击“解密”,执行数据解密。
- 解密完成后,可查看数据库,对应数据均解密成明文。
相关操作
- 生成多余列:执行加密后,系统会在表中生成“原字段名+_copy”的列,用于数据备份和审计等其他操作。
- 删除多余列:在执行解密之前,需要用户手动单击“删除多余列”,执行删除操作。
- 字段密钥配置:加密系统暂时支持主流的字符串类型数据加密,其他类型暂时无法设置密钥和执行加解密(比如日期和数字类型等)。





