Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[OT] Script gesucht: "Wörter Hüllen"->"Wer
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
NueX
Apprentice
Apprentice


Joined: 19 Jun 2003
Posts: 196
Location: Germany

PostPosted: Sat Oct 18, 2003 12:29 pm    Post subject: [OT] Script gesucht: "Wörter Hüllen"->"W Reply with quote

Titel: [OT] Script gesucht: "Wörter Hüllen"->"Wterör Hlelün"


Hallo!

Hab grad durch Zufall "MrTom"s Signatur gelesen.
MrTom wrote:
Gmäeß eneir Sutide eneir elgnihcesn Uvinisterät, ist es nchit witihcg in wlecehr Rneflogheie die Bstachuebn in eneim Wrot snid. Das ezniige was wcthiig ist, ist daß der estre und der leztte Bstabchue an der ritihcegn Pstoiion snid.

Sie hat mich an eine Mail erinnert, die ich zu diesem Thema bekommen habe. Ich finde dieses Phänomen, dass man Wörter ohne Probleme lesen kann, auch wenn nur der erste und der letzte Buchstabe an richtiger Position stehen, hoch interessant.
Nun ist meine Frage:
Kennt jemand ein Script, welches Eingabetexte nach diesem Prinzip ändert und wieder ausgibt, bzw. hat jemand die nötigen Kenntnisse und Lust ein solches Script zu programmieren? Fänd ich praktisch, mal Texte nach dem Prinzip verschlüsseln zu können. Vielleicht hat ja jemand Lust dazu.
Grüße, NueX

[Edit 1: +"Titel: [OT] Script gesucht: "Wörter Hüllen"->"Wterör Hlelün""]
Back to top
View user's profile Send private message
bmichaelsen
Veteran
Veteran


Joined: 17 Nov 2002
Posts: 1277
Location: Hamburg, Germany

PostPosted: Sat Oct 18, 2003 12:49 pm    Post subject: Reply with quote

http://www.jwz.org/hacks/scrmable.pl
http://science.slashdot.org/article.pl?sid=03/09/15/2227256&tid=134
Back to top
View user's profile Send private message
c07
Veteran
Veteran


Joined: 25 Oct 2002
Posts: 1091

PostPosted: Sat Oct 18, 2003 7:23 pm    Post subject: Reply with quote

Folgendes Bookmarklet kann die meisten Webseiten ziemlich komplett umschreiben:

javascript: function Scramble( item, prop ) { var rand= Math.random; var floor= Math.floor; var txt= item[prop]; if ( txt.length < 4 ) return; var list= txt.split( /([A-Za-z\xc0-\xc6\xc8-\xe6\xe8-\xff]+)/ ); for ( txt= list[0], i= 1, ie= list.length; i < ie; ++i ) { var word= list[i]; var len= word.length; if ( len < 4 ) { txt += word; } else { txt += word.charAt( 0 ); var last= word.charAt( --len ); var chars= word.slice( 1, len-- ).split( "" ); do txt += chars.splice( floor( rand() * len ), 1 )[0]; while ( --len > 1 ); txt += chars[0] + last; } txt += list[++i]; } item[prop]= txt; } function ProcNode( node ) { var xhtml= "http://www.w3.org/1999/xhtml"; switch ( node.nodeType ) { case 3: case 4: case 8: Scramble( node, "data" ); break; case 1: for ( var childs= node.childNodes, i= 0, ie= childs.length; i < ie; ++i ) ProcNode( childs[i] ); do { var ns= node.namespaceURI; var tag= node.tagName; if ( ! ns ) tag= tag.toLowerCase(); else if ( ns != xhtml ) break; Scramble( node, "title" ); switch ( tag ) { case "input": switch ( node.type ) { case "text": case "button": case "submit": case "reset": Scramble( node, "value" ); break; case "image": Scramble( node, "alt" ); break; } break; case "textarea": Scramble( node, "value" ); break; case "img": case "area": case "applet": Scramble( node, "alt" ); break; case "optgroup": case "option": Scramble( node, "label" ); break; case "table": Scramble( node, "summary" ); break; case "th": Scramble( node, "abbr" ); break; } } while ( false ); break; } } function ProcFrame( frame ) { var elt= frame.document.documentElement; try { elt.normalize(); ProcNode( elt ); } catch ( e ) {} for ( var frames= frame.frames, i= 0, ie= frames.length; i < ie; ++i ) ProcFrame( frames[i] ); } Scramble( document, "title" ); Scramble( this, "status" ); ProcFrame( this );

Funktioniert zumindest in Mozilla, aber nur, solang es keine Frames aus fremden Domains gibt. Einfach den vorigen Absatz als URL bookmarken und bei Bedarf aufrufen. Nachdem es auch Formularfelder umwandelt, kann man solche benutzen, um beliebige Texte zu konvertieren.

Bei sehr langen Wörtern, die es ja im Deutschen durchaus gibt, wird die Sache übrigens doch recht unleserlich, aber sonst ist die Lesbarkeit schon erstaunlich gut.

Hier noch das Skipt in lesbarer Form:

Code:
function Scramble( item, prop )
{
  var rand= Math.random;
  var floor= Math.floor;

  var txt= item[prop];

  if ( txt.length < 4 )
    return;

  var list= txt.split( /([A-Za-z\xc0-\xc6\xc8-\xe6\xe8-\xff]+)/ );

  for ( txt= list[0], i= 1, ie= list.length; i < ie; ++i )
  {
    var word= list[i];
    var len= word.length;

    if ( len < 4 )
    {
      txt += word;
    }
    else
    {
      txt += word.charAt( 0 );
      var last= word.charAt( --len );
      var chars= word.slice( 1, len-- ).split( "" );

      do txt += chars.splice( floor( rand() * len ), 1 )[0];
      while ( --len > 1 );

      txt += chars[0] + last;
    }

    txt += list[++i];
  }

  item[prop]= txt;
}

function ProcNode( node )
{
  var xhtml= "http://www.w3.org/1999/xhtml";

  switch ( node.nodeType )
  {
  case 3:
  case 4:
  case 8:

    Scramble( node, "data" );
    break;

  case 1:

    for ( var childs= node.childNodes, i= 0, ie= childs.length; i < ie; ++i )
      ProcNode( childs[i] );

    do
    {
      var ns= node.namespaceURI;
      var tag= node.tagName;

      if ( ! ns )
        tag= tag.toLowerCase();
      else
      if ( ns != xhtml )
        break;

      Scramble( node, "title" );

      switch ( tag )
      {
      case "input":

        switch ( node.type )
        {
        case "text":
        case "button":
        case "submit":
        case "reset":
          Scramble( node, "value" );
          break;

        case "image":
          Scramble( node, "alt" );
          break;
        }

        break;

      case "textarea":
        Scramble( node, "value" );
        break;

      case "img":
      case "area":
      case "applet":
        Scramble( node, "alt" );
        break;

      case "optgroup":
      case "option":
        Scramble( node, "label" );
        break;

      case "table":
        Scramble( node, "summary" );
        break;

      case "th":
        Scramble( node, "abbr" );
        break;
      }
    }
    while ( false );

    break;
  }
}

function ProcFrame( frame )
{
  var elt= frame.document.documentElement;

  try {
    elt.normalize();
    ProcNode( elt );
  }
  catch ( e ) {}

  for ( var frames= frame.frames, i= 0, ie= frames.length; i < ie; ++i )
    ProcFrame( frames[i] );
}

Scramble( document, "title" );
Scramble( this, "status" );
ProcFrame( this );
Back to top
View user's profile Send private message
haggi
Tux's lil' helper
Tux's lil' helper


Joined: 09 Jun 2003
Posts: 135
Location: Hamburg / Germany

PostPosted: Sat Oct 18, 2003 8:12 pm    Post subject: Reply with quote

Hi,
interessanter Link zum Thema: http://www.heise.de/tp/deutsch/special/auf/15701/1.html

MfG
Haggi
_________________
Software is like sex: it's better when it's free,
but it can be very expensive if you don't secure it!
Back to top
View user's profile Send private message
MrTom
l33t
l33t


Joined: 20 Jan 2003
Posts: 608

PostPosted: Sun Oct 19, 2003 2:45 pm    Post subject: Reply with quote

Hab mir eigentlich gar keine Gedanken bei der Sache gemacht.
Wollte einfach mal wieder eine neue Signatur. Hab schon eine pn deshalb bekommen!

Und nun wandere ich gerade so durch das Forum und sehe das hier :-)
Was durch eine Signatur so alles passieren kann... Zum Glück habe ich niemanden zu einem Blödsinn verleitet... ;-)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum