看板 java 關於我們 聯絡資訊
: 推 icemask:大大~~我剛剛有測出來了~~加密之後會117byte->128byte 12/05 20:28 : → icemask:這樣解密用128byte就可以了~~可是解出來的檔還是亂碼~~~ 12/05 20:29 : → icemask:是哪邊有錯嗎 12/05 20:30 : 推 icemask:http://www.cyut.edu.tw/~s9327122/RSA.txt 12/05 20:42 : → icemask:這是我改過的程式~~請你看一下 12/05 20:42 我之所以不推薦你這樣的寫法,是因為下面兩個理由: 1. InputStream.read(byte[]) 並不是你把 buffer 設成 117,它就一定能讀進 117 個 bytes,到頭來你必需每次都先確認它讀進了多少。 2. 就算你每次都可以讀得到 117 bytes 進去,但讀到最後一組時必定會出現問 題,因為絕不會剛好每個檔案的 size 都是 117 的倍數。 以上兩點,在加密時也好,在解密亦好,也必定會發生,於是加密時把不必要的東西 加密了,解密時也把不必要的東西解密了,亂碼的出現幾乎是必然的。 除非你真的很想自己處理這一切東西,不然我仍然不建議棄現有的 Cipher IOStream 而花無謂的精力在這一方面。 -- 《為了要得到真相,就要向原 PO 伸圖》 那就是伸圖魔人的沒圖沒真相原則,那時我們堅信那就是逼逼死的真實 靠么,圖咧? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 147.8.130.225
icemask:那請問一下有什麼好方法呢? 12/06 19:56
icemask:我已經想不到有什麼方法了 12/06 19:56
superlubu:就用 CipherInputStream/OutputStream 啊 = = 12/06 20:44
icemask:不是不想用阿~~只是我用CipherIOStream~~~檔案會是空的阿 12/06 20:52
icemask:就是因為這樣~~我才會用cipher.doFinal(); 12/06 20:53
superlubu:做 CipherOutputStream 時要先 flush COS 再 flush FOS 12/06 22:11
icemask:那是什麼東西~~第一次看到~~能介紹一下嗎 12/06 22:46
qrtt1:您要家教費給 superlubu 嗎@@? 12/06 22:52
superlubu:COS -> CipherOutputStream, FOS -> FileOutputStream 12/07 05:05
superlubu:我只是懶得再打 12/07 05:06