iOS(objective-c)にてAESでエンコードしたものをrubyでデコードしたい

iOSにて以下あたりのライブラリを使ってAESにて暗号化をした際に、その暗号文字列をrubyでデコードする際にちょっとはまったので備忘しておきます。

https://gist.github.com/838614

iOSのコード

NSString *plain = @"paco";
NSString *key = @"32byte32byte32byte32byte32byte!!";
NSString *enc = [plain AES256EncryptWithKey:key];
NSLog(enc); // mmNQPHai0BjORX3jCeY3YQ== が得られる
NSLog([enc AES256DecryptWithKey:key]);

rubyのコード

# -*- coding: utf-8 -*-
require 'openssl'

key = "32byte32byte32byte32byte32byte!!"
base64_text = 'mmNQPHai0BjORX3jCeY3YQ=='

s = base64_text.unpack('m')[0]

dec = OpenSSL::Cipher::Cipher.new('AES-256-CBC') 
dec.decrypt
dec.key = key
dec.iv = "\000"*32
a = dec.update(s)
b = dec.final
puts a + b # > paco

肝はivをヌル文字32個で設定してあげる事(上記ライブラリがivをNULLでハードコーディングしちゃってるので)とkeyを32バイトで設定してあげる事(これまたNULLパディングしてるので、めんどくさい方は32文字で設定しましょう)