Crypt::RC4 で暗号化した時に改行コードが混じる場合がある点に注意

Crypt::RC4 で暗号化した時に改行コードが混じる場合がある点に注意

サクっと暗号化/復号化を使いたい時に便利なperlモジュール Crypt::RC4
このモジュールでとある文字列を暗号化すると改行コードが混じる場合がある。

例えば s2525 を暗号化する。

use Crypt::RC4;
my $secret_key='1234';
my $encrypted = Crypt::RC4->new($secret_key)->RC4('s2525');
print $encrypted;

実行結果
�{�
�

$encrypted をファイルに記録したりすると、改行コードがあるため意図しないところで改行されてしまったりする。

pack/unpackして使う場合が多いと思うけど、

$encrypted =~ s/(.)/unpack('H2', $1)/eg;

としても改行コードは残ったままなのでやはり注意が必要。