Re: anyone have any ideas on how to shorten this?

2009-10-10 Thread John W. Krahn

Eric Waguespack wrote:

this was an attempt to make a password generator that creates the same
ASCII password every time, given an arbitrary string. (basically 1
password per website)

this is what i have so far:

echo masterpassword gmail.com | perl -MDigest::SHA -ne '$h = $_; for
(1..10) { $h=Digest::SHA::sha512_hex("$h") }; $_=$h; while (/(..)/g) {
$x=$1; $x = int((hex $x) / 2); if( $x ~~ [33..126] ) {print chr($x)};
END {print "\n";};}' | cut -b1-10


echo masterpassword gmail.com | perl -MDigest::SHA=sha512_hex 
-lpe'{$_=sha512_hex($_);++$x<10&&redo}s!(..)!$_=chr 
hex($1)/2;y|\41-\177||?$_:""!eg;s/(.)(?=.*?\1)//sg;$_=substr$_,0,10'




John
--
The programmer is fighting against the two most
destructive forces in the universe: entropy and
human stupidity.   -- Damian Conway


Re: anyone have any ideas on how to shorten this?

2009-10-09 Thread Jasvir Nagra
Sure.  It wasn't clear what the value of that was other than slowing things
down (which may of course be of value).

On Fri, Oct 9, 2009 at 4:05 PM, Eric Waguespack wrote:

> the perl has a loop that rehashes the string 10 times
>
> On Fri, Oct 9, 2009 at 6:02 PM, Jasvir Nagra  wrote:
> > If you have a command line sha1:
> > echo masterpassword gmail.com | sha1sum | perl -alnF'/(..)/' -e
> > '@a=map{$_=chr(hex($_)/2);tr/!-~//cd;$...@f;pr...@a'
> > --
> > Jasvir Nagra
> > http://www.cs.auckland.ac.nz/~jas
> >
> >
> > On Fri, Oct 9, 2009 at 2:58 PM, Eric Waguespack 
> > wrote:
> >>
> >> this was an attempt to make a password generator that creates the same
> >> ASCII password every time, given an arbitrary string. (basically 1
> >> password per website)
> >>
> >> this is what i have so far:
> >>
> >> echo masterpassword gmail.com | perl -MDigest::SHA -ne '$h = $_; for
> >> (1..10) { $h=Digest::SHA::sha512_hex("$h") }; $_=$h; while (/(..)/g) {
> >> $x=$1; $x = int((hex $x) / 2); if( $x ~~ [33..126] ) {print chr($x)};
> >> END {print "\n";};}' | cut -b1-10
> >>
> >> I also want to incorporate this, it removes duplicate characters
> >> (irrespective of location), but my current code doesn't let me just
> >> slip it in.
> >>
> >> $s =~ s[(.)(?=.*?\1)][]g;
> >
> >
>


Re: anyone have any ideas on how to shorten this?

2009-10-09 Thread Eric Waguespack
the perl has a loop that rehashes the string 10 times

On Fri, Oct 9, 2009 at 6:02 PM, Jasvir Nagra  wrote:
> If you have a command line sha1:
> echo masterpassword gmail.com | sha1sum | perl -alnF'/(..)/' -e
> '@a=map{$_=chr(hex($_)/2);tr/!-~//cd;$...@f;pr...@a'
> --
> Jasvir Nagra
> http://www.cs.auckland.ac.nz/~jas
>
>
> On Fri, Oct 9, 2009 at 2:58 PM, Eric Waguespack 
> wrote:
>>
>> this was an attempt to make a password generator that creates the same
>> ASCII password every time, given an arbitrary string. (basically 1
>> password per website)
>>
>> this is what i have so far:
>>
>> echo masterpassword gmail.com | perl -MDigest::SHA -ne '$h = $_; for
>> (1..10) { $h=Digest::SHA::sha512_hex("$h") }; $_=$h; while (/(..)/g) {
>> $x=$1; $x = int((hex $x) / 2); if( $x ~~ [33..126] ) {print chr($x)};
>> END {print "\n";};}' | cut -b1-10
>>
>> I also want to incorporate this, it removes duplicate characters
>> (irrespective of location), but my current code doesn't let me just
>> slip it in.
>>
>> $s =~ s[(.)(?=.*?\1)][]g;
>
>


Re: anyone have any ideas on how to shorten this?

2009-10-09 Thread Jasvir Nagra
If you have a command line sha1:
echo masterpassword gmail.com | sha1sum | perl -alnF'/(..)/' -e
'@a=map{$_=chr(hex($_)/2);tr/!-~//cd;$...@f;pr...@a'

-- 
Jasvir Nagra
http://www.cs.auckland.ac.nz/~jas


On Fri, Oct 9, 2009 at 2:58 PM, Eric Waguespack wrote:

> this was an attempt to make a password generator that creates the same
> ASCII password every time, given an arbitrary string. (basically 1
> password per website)
>
> this is what i have so far:
>
> echo masterpassword gmail.com | perl -MDigest::SHA -ne '$h = $_; for
> (1..10) { $h=Digest::SHA::sha512_hex("$h") }; $_=$h; while (/(..)/g) {
> $x=$1; $x = int((hex $x) / 2); if( $x ~~ [33..126] ) {print chr($x)};
> END {print "\n";};}' | cut -b1-10
>
> I also want to incorporate this, it removes duplicate characters
> (irrespective of location), but my current code doesn't let me just
> slip it in.
>
> $s =~ s[(.)(?=.*?\1)][]g;
>