Thread adfgvx-Verschluesselung umsetzen (10 answers)
Opened by DrWhiteLetter at 2005-07-24 00:53

Ronnie
 2005-07-24 13:44
#56645 #56645
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
@esskar: Schöner sauber in Funktionen gesplitetter Code!

Mit Verwendung einer zweidimensionalen Struktur (wie von Esskar) spart man sich natürlich die ganze unschöne Arithmetik um die Position im Grid zu bestimmen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/perl

use strict;
use warnings;

use Data::Dumper;

my $to_encode = 'a perlhacker';
my $separator = '#';
my $set = [ map { chomp; [split /\s/, $_]; } <DATA> ];
my %keys; @keys{0..5} = qw/a d f g v x/;
my %lut;
for my $row (0 .. 5) {
for my $col (0 .. 5) {
$lut{$set->[$row]->[$col]} = $keys{$row}.$keys{$col};
}
}
my $encoded = join ' ',
map { $lut{$_} ? $lut{$_} : $separator }
split //, $to_encode;

print $encoded, "\n";

_ _DATA_ _
m l k 1 h g
p 2 o i f u
e r b d t z
5 6 s v 7 j
4 a q 3 c 9
y n 0 w 8 x
\n\n

<!--EDIT|Ronnie|1122198394-->

View full thread adfgvx-Verschluesselung umsetzen