如何在集成测试期间禁用Grails Jasypt插件加密?

时间:2012-02-15 19:28:43

标签: grails jasypt

有没有办法在Grails项目的集成测试期间禁用加密,或者可能使用一个简单的算法?字段级加密有相当多的开销,不一定需要进行测试,只是增加了运行测试所需的时间。

在测试阶段排除插件可能不起作用,因为需要映射并且可能会破坏编译。

我认为纯文本或更简单的算法可能有用,或者甚至可以让配置一起忽略加密处理?

目标只是在测试期间降低插件的性能。

2 个答案:

答案 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;
}

}`