Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Re: A real challenge

by larryk (Friar)
on Jul 16, 2001 at 20:30 UTC ( [id://97075]=note: print w/replies, xml ) Need Help??


in reply to Re: A real challenge
in thread A real challenge

or even
#!perl -w use strict; sub encode_decode ($) { my $txt = shift; my $key = 'Copyright © 2000 ActiveState Tool Corp.' x length $txt; my $enc = $txt ^ substr $key, 0, length $txt; return wantarray ? unpack "C*", $enc : $enc; } undef $/; my @encoded_ascii = encode_decode <DATA>; # one or other #my $encoded_string = ~~encode_decode <DATA>; # of these two __DATA__ #!"#$%&'()*+,-./0123456789:;<=>?@ #ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` #abcdefghijklmnopqrstuvwxyz{|}~ #!"#$%&'()*+,-./0123456789:;<=>?@ #ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` #abcdefghijklmnopqrstuvwxyz{|}~ #!"#$%&'()*+,-./0123456789:;<=>?@ #ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` #abcdefghijklmnopqrstuvwxyz{|}~ print "Show me the encoding!\n";

"Argument is futile - you will be ignorralated!"

Replies are listed 'Best First'.
Re3: A real challenge
by bikeNomad (Priest) on Jul 16, 2001 at 20:39 UTC
    You're making $key too long by a factor of 39. You want something more like this (where @encoded is the given byte array):

    my $encodedString = pack('c*', @encoded); my $key = 'Copyright © 2000 ActiveState Tool Corp.'; $key = $key x ( length($encodedString) / length($key) + 1); $key = substr($key, 0, length($encodedString)); print $key ^ $encodedString;
      I know - it's just so that the key can be any length without having to do the length X/length y + 1 thing all on one line :) I have to substr it anyway so what's a few bytes between system calls! I wouldn't have been so frivolous if I was getting the key from STDIN though!

      "Argument is futile - you will be ignorralated!"

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://97075]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (6)
As of 2024-04-18 09:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found