看板 java 關於我們 聯絡資訊
※ 引述《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
superlubu:... 為什麼 encrypt 和 decrypt 都用 public key 的? 12/04 06:45
superlubu:private key 去領便當了嗎 XD 12/04 06:46
superlubu:還有用 println(byte[]) 你應該只能得到一堆讀不懂的字 12/04 08:56
icemask:謝謝大大~~問題已經改過了~~~那還想請問一個問題~ 12/04 22:57
icemask:如果key存出來,有什麼方法使加解密成功? 12/04 22:59
superlubu:什麼叫 key 存出來?把 key save 到 file 裡之後再用? 12/04 23:51
superlubu:就直接把 key 的 bytes 存到 file 中就好了啊 12/04 23:52
icemask:可是我存了之後加解密還是有問題阿 12/05 02:57
icemask:還是我po我的程式上來請大大幫我看一下哪有問題~~ 12/05 02:59
superlubu:沒錯,貼個 program segment 是最快的 12/05 08:38
icemask:這是我的程式碼~~請大大看一下 12/05 10:04