有没有办法在Grails项目的集成测试期间禁用加密,或者可能使用一个简单的算法?字段级加密有相当多的开销,不一定需要进行测试,只是增加了运行测试所需的时间。
在测试阶段排除插件可能不起作用,因为需要映射并且可能会破坏编译。
我认为纯文本或更简单的算法可能有用,或者甚至可以让配置一起忽略加密处理?
目标只是在测试期间降低插件的性能。
答案 0 :(得分:1)
可以帮助的一个替代方案是关闭dev中的keyObtentionIterations(它是一个配置值)。这是加密器为使其更难破解所做的迭代次数,因为它递归加密多次以减慢速度。
在配置中更改此内容:
keyObtentionIterations = 1000
到
keyObtentionIterations = 1
(如果你设置了它,否则添加它)。这应该会显着加快速度并保持不变,以便仍然可以测试溢出问题。
如果这确实有帮助,我很想知道如果你能用速度差异回复那么速度有多快。
答案 1 :(得分:0)
您可以使用Category来存根加密。但是你必须测量哪一个是一个性能(类别或加密)。
`class EncryptionCategory {
static String decrypt(PBEStringEncryptor obj,String encStr) {
return encStr
}
static String encrypt(PBEStringEncryptor obj,String str) {
return str;
}
}`