我有一个小小的Perl代码(简单的XOR解密),我想将它移植到Ruby中以将它添加到另一个脚本中,但是我真的在Ruby中使用XOR编码/解码丢失了:Little Perl XOR解码脚本移植到Ruby
#!/usr/bin/perl
# XOR password decoder
# Greets: Joni Salonen @ stackoverflow.com
$key = pack("H*","3cb37efae7f4f376ebbd76cd");
print "Enter string to decode: ";
$str=<STDIN>;chomp $str; $str =~ s/\\//g;
$dec = decode($str);
print "Decoded string value: $dec\n";
sub decode{ #Sub to decode
@[email protected]_;
my $sqlstr = $subvar[0];
$cipher = unpack("u", $sqlstr);
$plain = $cipher^$key;
return substr($plain, 0, length($cipher));
}
使用示例用Perl:
$ perl cf6deca.pl
Enter string to decode:)4-H5GX\:&G\!6
Decoded string value: likearock
感谢您的帮助和时间。
我想在Ruby中是这样的:
key = ['3cb37efae7f4f376ebbd76cd'].pack('H*')
print "Enter string to decode: "
STDOUT.flush
a_string = gets
a_string.chomp!
a_string = a_string.gsub(/\//, "")
dec = decode(a_string)
puts "Decoded string value: "+dec
def decode(in)
cipher = in.unpack('u')
plain = cipher^key;
plain.slice(len(cipher))
return plain
end
我知道是一团糟,请帮助:)
告诉我们的代码,让我们看看你有多远,你的尝试。在你的尝试中出了什么问题或有什么困难?一旦允许语言语法的差异,许多Perl函数都有Ruby等价物。 – 2012-04-10 16:26:54
我的意思是我找不到任何地方如何使用XOR和Ruby下的密钥来解密加密的字符串。 – bsteo 2012-04-10 16:33:25