默认的Sharding Sphere 支持AES和MD5两种加密器。有些时候可能需要自定义使用自己的加解密算法,如AES的具体实现不一样等。网上公开的并没有直接的指引,通过部分源码的阅读,找到了可行的方式。需要三步:
1.实现自定义解密器 (实现ShardingEncryptor 接口)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
其中getType
返回的字符串(本例为”TEST”)即为本加解密器的类型(后续使用的时候会使用)
2.创建org.apache.shardingsphere.spi.encrypt.ShardingEncryptor 文件
需要创建一个文件名为org.apache.shardingsphere.spi.encrypt.ShardingEncryptor
放入resources路径下的\META-INF\services
文件的内容就是类名全称,如:
com.yourcompany.TestShardingEncryptor
3.配置使用此自定义类
Java配置模式:
如果未使用Spring Boot,需要显示用代码配置
1
|
|
Spring Boot配置模式:
如果使用的是Spring Boot配置模式,则需要如下配置
1
|
|