作者icemask (星风狂翼)
看板java
标题Re: [问题] 看不懂讯息~~请大大帮忙解答
时间Mon Dec 3 22:39:27 2007
※ 引述《icemask (星风狂翼)》之铭言:
: 各位大大~~~~
: 小弟我写了一个RSA的加解密的程式
: 加密的时候是ok的
: 但是到解密的时候就会出问题
: 会出现
: Exception in thread "main" javax.crypto.BadPaddingException: Data must start
: with zero
: 这个讯息
: 所以想请大大帮我解答
各位大大,我刚刚有试了一下
KeyPairGenerator rsa_kgen = KeyPairGenerator.getInstance("RSA");
SecureRandom rsa_rnd = SecureRandom.getInstance("SHA1PRNG","SUN");
rsa_kgen.initialize(1024,rsa_rnd);
KeyPair rsa_keypair=rsa_kgen.generateKeyPair();
PublicKey rsa_publickey = rsa_keypair.getPublic();
System.out.println(rsa_publickey);
PrivateKey rsa_privatekey = rsa_keypair.getPrivate();
System.out.println(rsa_privatekey);
String a="123456";
Cipher cipher=Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE,rsa_publickey);
byte[] aa=a.getBytes();
byte[] b=cipher.doFinal(aa);
System.out.println(b);
cipher.init(Cipher.DECRYPT_MODE,rsa_publickey);
byte[] c=cipher.doFinal(b);
System.out.println(c);
这是我写的原码,就是不知道解密出了什麽问题
所以才想要问一下有什麽方法可以解决
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.214.70
1F:推 superlubu:... 为什麽 encrypt 和 decrypt 都用 public key 的? 12/04 06:45
2F:→ superlubu:private key 去领便当了吗 XD 12/04 06:46
3F:推 superlubu:还有用 println(byte[]) 你应该只能得到一堆读不懂的字 12/04 08:56
4F:推 icemask:谢谢大大~~问题已经改过了~~~那还想请问一个问题~ 12/04 22:57
5F:→ icemask:如果key存出来,有什麽方法使加解密成功? 12/04 22:59
6F:推 superlubu:什麽叫 key 存出来?把 key save 到 file 里之後再用? 12/04 23:51
7F:→ superlubu:就直接把 key 的 bytes 存到 file 中就好了啊 12/04 23:52
8F:推 icemask:可是我存了之後加解密还是有问题阿 12/05 02:57
9F:→ icemask:还是我po我的程式上来请大大帮我看一下哪有问题~~ 12/05 02:59
10F:推 superlubu:没错,贴个 program segment 是最快的 12/05 08:38
12F:→ icemask:这是我的程式码~~请大大看一下 12/05 10:04