2012-03-30 160 views
0

我有一个程序,我正在运行,它提出了命令提示符屏幕,我给它我的参数,但然后它要求输入密码。我向它发送一个密码,但我得到一个错误,以为密码是以前的参数的一部分,这里是我的一些代码:命令行提示输入密码,无法使用java eclipse发送密码

Process p = Runtime.getRuntime().exec("cmd /c start cmd.exe /k \"" + CD + AND + Keytool + Genkey + Keyalg + Keysize + Alias + Validity + Keystore + "/K && " + Password); 

错误是“非法选项密码”

什么想法?

我想我需要使用outputstreamwriter,但我不太清楚如何。

谢谢

+1

您是否试过只是打印从字符串添加中获得输出,并查看看起来是否正确?我建议你从那里开始。 – PearsonArtPhoto 2012-03-30 14:54:08

+0

我确信你的密码是'password'。现在,我要破解你:) – 2012-03-30 14:58:46

+0

是的,它看起来是对我来说,我不得不在第二K之前添加一个空间,但它看起来很好。仍然提示我与非法选项错误 – 2012-03-30 15:00:30

回答

0

难道你不需要终止公开报价吗?

Process p = Runtime.getRuntime().exec("cmd /c start cmd.exe /k \"" + CD + AND + Keytool + Genkey + Keyalg + Keysize + Alias + Validity + Keystore + "/K \" && " + Password); 

甚至密码后,也许

Process p = Runtime.getRuntime().exec("cmd /c start cmd.exe /k \"" + CD + AND + Keytool + Genkey + Keyalg + Keysize + Alias + Validity + Keystore + "/K && " + Password + "\""); 
+0

第一种工作,它促使我输入密码 – 2012-03-30 15:08:20

+0

我认为你应该把'exec'内的所有东西放到一个字符串中,打印出来并看看它是否有效。 – adarshr 2012-03-30 15:09:37

+0

我查过了,它是有效的 – 2012-03-30 15:15:15

0

你应该做到以下几点:

  1. 从代码
  2. 删除密码输入密码时,它会告诉你
+0

是的,我想以编程的方式做到这一点虽然 – 2012-03-30 15:09:01

+0

以编程的方式做它甚至可能吗? – 2012-03-30 15:12:23

+0

即使您这样做了,它也会再次检查一致性,这是标准平台中安全机制的工作方式。所以不需要通过编码来包含密码,以获得更好的性能实践! – GingerHead 2012-03-30 15:20:10