hellkite 日記と雑記とメモ。

Shiki Kazamaの駄文と音楽と、時々技術な感じ

Rubyでパスワード付ZIPファイルを解凍


スポンサーリンク


ziprubyを使えば簡単に実現できる。
まずはgemを使ってziprubyをインストール

# gem install zipruby


コードは大体こんな感じ。・・・といっても解凍はここではやっていない。タイトルに偽りあり。

require 'rubygems'
require 'zipruby'


begin
  # decryptの第1引数はファイル名、第2引数はパスワード
  Zip::Archive.decrypt(ARGV[0],ARGV[1])
rescue Zip::Error
  # エラーが発生した場合は、ここで処理
end

適当なファイル名で保存して、実行引数にファイル名とパスワードを入れればオッケー。


面白いと思ったのは、元のファイルは残っているけど、パスワードがかかっていない状態になっていること。パスワードかかっていると思っていて、そのファイルをアップしたりメールで送ったりする危険性あり。
ziprubyはパスワードをかけるときもzipファイルを生成した後からパスワードを追加する形みたい。もしかしたら、パス付きZIPってそういうものなのかもしれないけど<無知


ziprubyはインストール先のREADME.txtにサンプルソースがあるので、他の使い方はそれを参考に。


しかし、久しぶりにRubyさわったら基本構文まで忘却しとる・・・orz