java安全性编程遇到的问题

aijava11 2013-03-18 11:41:53
import java.io.FileInputStream;

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;


public class PBEDec {

/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
char[] passwd=args[0].toCharArray();
PBEKeySpec pbks=new PBEKeySpec(passwd);
SecretKeyFactory kf=SecretKeyFactory.getInstance("PBEWithMD5AndDES");
SecretKey k=kf.generateSecret(pbks);
byte[] salt=new byte[8];
FileInputStream f=new FileInputStream("PBEEnc.dat");
f.read(salt);
int num=f.available();
byte[] ctext=new byte[num];
f.read(ctext);
Cipher cp=Cipher.getInstance("PBEWithMD5AndDES");
PBEParameterSpec ps=new PBEParameterSpec(salt,1000);
cp.init(Cipher.DECRYPT_MODE,k,ps);
byte ptext[]=cp.doFinal(ctext);
for(int i=0;i<ptext.length;i++)
{
System.out.println(ptext[i]+",");
}
System.out.println("");
for(int i=0;i<ptext.length;i++)
{
System.out.println((char)ptext[i]);
}


}

}
异常如下:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at PBEDec.main(PBEDec.java:17)
...全文
112 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
aijava11 2013-04-09
  • 打赏
  • 举报
回复
楼上说的对呀,呵呵,我当时真没注意到呢
失落夏天 2013-03-18
  • 打赏
  • 举报
回复
数组越级异常 具体哪一行报错呢? 估计是定义了10的长度,但是给char[10]赋值了
nmyangym 2013-03-18
  • 打赏
  • 举报
回复
命令行后加参数,否则char[] passwd=args[0].toCharArray();这句的args[0]报错。

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧