Re: [問題] Java 壓縮加密方式

看板java作者 (安東尼)時間12年前 (2013/04/11 10:56), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《PsMonkey (痞子軍團團長)》之銘言: : 標題: Re: [問題] Java 壓縮加密方式 : 時間: Wed Apr 10 21:30:50 2013 : : 先說我不是這方面的專家 : 我只是有些事情覺得很奇怪所以拿出來問一下 : : ※ 引述《niewolf (安東尼)》之銘言: : : 想請問一下 : : Java 有沒有什麼簡單的方法可以壓縮的時候加密 : : 之前有找過zip4j 這個jar library : : 可是最近在使用上發現有點問題 : : 就是壓縮的檔案如果是可能還在寫入的檔案 : ^^^^^^^^^^^^^^^^^^^^^^^^ : : 基本上這個需求本身就很奇怪了 : 或著說,你怎麼知道你壓縮的是哪一個 time stamp 的檔案? 因為想要壓縮的是很多log 也有不同種類的 所以會壓縮還在寫的 有想過用clone的方式做 但是如果對所有要壓縮的檔案都處理會太花時間跟空間 如果要只對還在寫的檔案做clone 可能會沒那麼精確 有稍微Trace下 zip4j的source code 覺得他壓縮多少Byte應該會同步去做crc的update 但是就結果來看 crc update的Byte比壓縮的多 : : : 似乎解壓縮的時候會show crc fail的error : ^^^^ : : 反過來說,在這種奇怪需求下,炸 CRC 錯誤 : 其實也不算意外? : : 如果我是你,我會在要壓縮的當下 : 先把檔案 clone 一份備份,然後針對那個備份作壓縮 : 反正你的原始需求根本無法保證這個壓縮檔還原之後要跟既有檔案對應 : : 就算實際系統不能這樣作 : 至少我會先這樣 try 看看 : 而不用一直跟人家說似乎似乎似乎 抱歉 因為還在debug跟看zip4j的source code 所以很多東西沒那麼肯定 才會用那麼多似乎 clone是一個想法 覺得可以解這個問題 但是還沒去試 : : : 覺得似乎是在壓縮的時候 寫進去header 的 crc 有錯 : : 這種case 產生的zip檔 : : 如果使用7zip去解 還是可以解 會跳warning的msg出來而已 : : 所以壓縮檔本身除了某個檔案crc的資訊 有錯之外 : : 除此之外 Java內建的api似乎不支援壓縮加密 : : 請解釋一下何謂「壓縮加密」 : 如果是要解壓縮的時候要輸入密碼 : 我非常確定 zip4j 可以做到 : (因為狗一下,第一頁就看到簡中的資料) : 對 我說的壓縮加密 就是說解壓需輸入密碼 我是說java的api沒有可以直接用的 但是zip4j可以 : 至於其他的可能... 我想到的可能... : 基本上就是函數串起來玩而已 : : : 那還有什麼比較方便的library可以include進來用嗎? : : 或是有什麼解法嗎 : : 謝謝 : : -- : 錢鍾書: 說出來的話 : http://www.psmonkey.org : 比不上不說出來的話 : Java 版 cookcomic 版 : 只影射著說不出來的話 : and more...... : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 114.25.24.228 : 推 niewolf:其實知道做一份clone可以解決這個問題.. 04/10 22:26 : → PsMonkey:..................................................... 04/10 22:58 : → cyclone350:為什麼不用clone? 版主沒必要這樣推文吧 !! 04/10 23:57 : → cyclone350:畢竟不是每個人都是天生的決策者 04/10 23:59 : → cha122977:可是不clone很難保證穩定吧? 不然就確定當下沒有input? 04/11 00:02 : → PsMonkey:我推點點點是因為如果一開始就有講,那我根本就不會回了 04/11 00:11 : → PsMonkey:講了一堆似乎似乎,但是嘗試過哪些方法卻不講...... 04/11 00:12 抱歉 本來是想回在推文的 但是發現不能連續推文 所以昨晚想直接回文 但打到一半有點不知所云 所以就先skip 現在 有想到一個方法 就是去對zip4j的source code做一些修改 我再試試看 謝謝版大的回應~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.61.122.2
文章代碼(AID): #1HPYPYTK (java)
文章代碼(AID): #1HPYPYTK (java)