0

我需要生成大小为四分之一 MB 的加密安全随机数据文件。任何想法我怎么能做到这一点。任何可用的库/ API。请指导,因为我是 Cryto 的新手。

该数据 (gen) 必须是 C 程序的 inut,该程序在标题上具有以下使用注释:

crypto_prg g gfile sfile pfile mfile < gen:生成由 gen 确定的代码。将代码写入 gfile (7k)、sfile (53k)、pfile (4k)、mfile (82k)。需要一些时间。编码需要mfile。解码需要gfile sfile pfile。gen 应该是大约四分之一兆字节的随机数据。gen 没有足够的随机数据可能无法生成代码。在这种情况下,crypto_prg 会警告你。

在这种情况下,我需要生成“gen”。我怎样才能做到这一点。请指教,因为我是新手。

谢谢!

4

3 回答 3

3

在 Java 中,您可以使用SecureRandom生成加密安全数据。如果您只需要生成一次数据,那么使用以下内容就足够简单了:

RandomDataGenerator.java

public static void main(String args[]) {
    SecureRandom random = new SecureRandom();
    byte bytes[] = new byte[262144]; // Number of bytes in 0.25MB
    random.nextBytes(bytes);

    try {
        FileOutputStream fos = new FileOutputStream("random.data");
        fos.write(myByteArray);
        fos.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

让我知道你是否有任何问题让这个工作。

于 2013-04-03T19:40:41.400 回答
0

如果您在基于 *NIX 的系统(Linux、OSX、Android)上执行此操作,您可以简单地从特殊文件 /dev/urandom 读取任意数量的字节。

请参阅:https ://security.stackexchange.com/questions/3936/is-a-rand-from-dev-urandom-secure-for-a-login-key

于 2013-04-06T02:59:44.707 回答
0

在 *NIX 中,您应该使用/dev/randomthan /dev/urandom,因为 random 更慢但更安全。

仍然在 linux 上APG应该默认安装。尝试类似:

apg -a 1 -n 12 -m 16 -x 20 -M sncl

最后你可以使用PWGen(默认不安装):

Cdt
于 2014-07-17T23:16:11.577 回答