我需要创建一个临时文件并将一些数据存储到其中。为此,我编写了以下代码:
import org.apache.commons.lang.RandomStringUtils;
import java.security.SecureRandom;
[...]
String random = RandomStringUtils.random(10, 0, 0, true, true, null, new SecureRandom());
File tempFile = File.createTempFile("PREFIX-" + random, ".pdf");
[...]
它确实工作得很好,但是当我将此代码提交给Veracode 时,我收到“不安全的临时文件(CWE ID 377)”错误。我认为使用SecureRandom
会使攻击者无法预测临时文件名。
在不让 Veracode 不高兴的情况下生成临时文件的正确方法是什么?