Your link is somewhat broken. It only works if you have an account on that site.
I don't know Math::XOR, and I don't really see the need for it when Perl has a string xor operator.
# Assumes ASCII. $string1 = "@@@@@"; $string2 = "ABCDE"; $xored = $string1 ^ $string2; print($xored eq "\x01\x02\x03\x04\x05" ? "ok\n" : "not ok\n");
In practice: (Added)
my $repeats = (length($cipher_text) / length($pass)) + 1; my $pass_stream = substr($pass x $repeats, 0, length($cipher_text)); my $plain_text = $cipher_text ^ $pass_stream;
Also, I'm not sure why you aren't using a foreach loop.
foreach my $c1 ('a'..'z') { foreach my $c2 ('a'..'z') { foreach my $c3 ('a'..'z') { my $pass = $c1 . $c2 . $c3; ... }}}
Finally, @list[$count1] should be $list[$count1]. Use $ when you want a scalar (single element). Use @ when you want a list (multiple elements).
In reply to Re: Math::XOR problem
by ikegami
in thread Math::XOR problem
by kuratkull
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |