Skip to content

19.数据防窜改使用说明

​ 对于业务表中存在的关键字段,为了避免因业务操作外的其他修改操作导致的关键字段被修改,进而影响业务操作正确性的问题,libra-client提供数据防篡改机制,进行数据插入时,将关键字段进行加密,存储进校验字段中,在进行数据变更前进行关键字段值校验,在字段值正确的前提下进行记录更新操作,更新关键字段的同时更新校验字段。

19.1 使用

​ 使用数据防篡改功能需配置tamper-proof.xml配置文件。

  • tamper-proof.xml

    xml
    <!DOCTYPE libra:tamper-proof SYSTEM "tamper-proof.dtd">
    <libra:tamper-proof xmlns:libra="http://www.dcits.com/libra/">
        <!--name为逻辑库.表名,columns为需要保证防篡改的列,多列间以','分隔,checkKey为校验值字段,function为校验字段的加密算法-->
        <dac name="TestDb.rb_dac" columns="key1,key2,key3" checkKey="dac_key" function="sm4-cbc"/>
    </libra:tamper-proof>

    配置项介绍:

    标签属性描述备选值是否必输
    dacname防篡改属性名称,为逻辑库名.表名
    columns需要被保障不被篡改的业务属性列,多列以,分隔
    checkKey防篡改校验键,无特殊业务含义的键,业务表中自行提供
    function加密算法,通过此算法完成columns到checkKey的映射sm4-ecb,sm4-cbc或用户自行实现的算法别名

    ​ 防篡改操作对业务是无感知的,业务sql无需变动。

19.2 使用限制

  • 涉及防篡改表的insert语句必须包含全部已配置的防篡改字段。
  • 防篡改表不支持hint路由。