Perl⇔JavaでBlowfishな暗号化文字列をやりとりする

  • PerlのCrypt::CBCで暗号化した文字列をJavaで復号する
  • Javaで暗号化した文字列をPerlのCrypt::CBCで復号する

ということをBlowfishのCBCモードでやりたかったのですが、Java側では鍵の変換処理(と初期ベクタの生成)を自前で書く必要があるみたいです。
結局PerlのCrypt::CBC#_salted_key_and_ivをJavaに移植して、Saltで変換した鍵と初期ベクタをCipher.initに渡すようにすれば、Java(javax.crypto.Cipher)⇔Perl(Crypt::CBC)でのやりとりができました。
(BlowfishCBCというalgorithmを用意しているところもあるようですね)



何か疲れた。