rubyzipでパスワード付きzip解凍
こんばんは
お初です。
よろしくお願い致します。
パスワードは00000~99999のうちどれかです。
パスワードがわからないという設定で
パスワード付きzipファイルを解凍したいです。
パスワードはループ処理で0..99999のうちで動作して
format("%05d", i)
でゼロ埋め処理もしましたが、解凍できませんでした。
ruby
1require 'zip' 2 3zip_file_name = 'sample04.zip' 4password = '' 5 6for i in 0..99999 7 # zipパスワードを作成 8 password = format('%05d', i) 9 10 password = Zip::TraditionalDecrypter.new(password) 11 # 第3引数にパスワードを指定、第2引数は0固定 12 Zip::InputStream.open(zip_file_name, 0 ,password) do |input| 13 entry = input.get_next_entry 14 Dir.mkdir(File.dirname(entry.name)) 15 File.write(entry.name, input.read) 16 end 17end 18
希望の動作としましては、
パスワードが一致したときにパスワードを表示し
その時点で動作を終了したいです。
パスワードをループさせながら一致したときに止まる動作が
できません。
色々調べましたができませんでした。
お力をお貸しください。
参照
https://www.sejuku.net/blog/46236
https://qiita.com/ya-mada/items/c162383eda33dc516c39
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。