begin process at 2010 08 01 01:43:07
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > CRYPTEUR DE TEXTE AVEC CHIFFREMENT A 128 BITS

CRYPTEUR DE TEXTE AVEC CHIFFREMENT A 128 BITS


 Information sur la source

Note :
7,25 / 10 - par 4 personnes
7,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Trucs & Astuces Niveau :Expert Date de création :01/02/2004 Vu / téléchargé :4 937 / 273

Auteur : neoxdragon

Ecrire un message privé
Commentaire sur cette source (20)
Ajouter un commentaire et/ou une note

 Description

Enregistrez la source dans un fichier .HTA

Source

  • <script>
  • <!--
  • document.write(unescape("%3Cscript%20language%3DJavaScript%3E%0D%0Aself.moveTo%280%2C0%29%3B%0D%0Aself.resizeTo%28screen.width/1.95%2Cscreen.height/1.5%29%3B%0D%0A%3C/script%3E%0D%0A%3C%21DOCTYPE%20HTML%20PUBLIC%20%22-//W3C//DTD%20HTML%204.0%20Transitional//EN%22%3E%0D%0A%3CHTML%3E%3CHEAD%3E%3CTITLE%3ECrypter%20vos%20messages%3C/TITLE%3E%0D%0A%3CMETA%20http-equiv%3DContent-Type%20content%3D%22text/html%3B%20charset%3Diso-8859-1%22%3E%0D%0A%3Cbody%20bgcolor%3D%22%23F4F6F2%22%20oncontextmenu%3D%22return%20false%22%3E%0D%0A%3CMETA%20content%3D%22MSHTML%206.00.2800.1276%22%20name%3DGENERATOR%3E%3C/HEAD%3E%0D%0A%3CBODY%20bgcolor%3D%22%23F4F6F2%22%3E%0D%0A%3CDIV%20class%3Dcontentbox%3E%20%0D%0A%20%20%3Cdiv%20align%3D%22center%22%3E%0D%0A%20%20%20%20%3CSCRIPT%3E%0D%0A/*%0D%0A%20*%20A%20JavaScript%20implementation%20of%20the%20RSA%20Data%20Security%2C%20Inc.%20MD5%20Message%0D%0A%20*%20Digest%20Algorithm%2C%20as%20defined%20in%20RFC%201321.%0D%0A%20*%20Copyright%20%28C%29%20Paul%20Johnston%201999%20-%202000.%0D%0A%20*%20Updated%20by%20Greg%20Holt%202000%20-%202001.%0D%0A%20*%20Updated%20by%20Michel%20Chilowicz%20%3Cmichel@netastuces.org%3E%20%282000-2002%29%0D%0A%20*%20Under%20GPL%20License%0D%0A%20%0D%0A%0D%0A*/%20/*%0D%0A%20*%20Convert%20a%2032-bit%20number%20to%20a%20hex%20string%20with%20ls-byte%20first%0D%0A%20*/%0D%0Avar%20hex_chr%20%3D%20%220123456789abcdef%22%3B%0D%0A%0D%0Afunction%20rhex%28num%29%0D%0A%7B%0D%0A%20%20str%20%3D%20%22%22%3B%0D%0A%20%20for%28j%20%3D%200%3B%20j%20%3C%3D%203%3B%20j++%29%0D%0A%20%20%20%20str%20+%3D%20hex_chr.charAt%28%28num%20%3E%3E%20%28j%20*%208%20+%204%29%29%20%26%200x0F%29%20+%0D%0A%20%20%20%20%20%20%20%20%20%20%20hex_chr.charAt%28%28num%20%3E%3E%20%28j%20*%208%29%29%20%26%200x0F%29%3B%0D%0A%20%20return%20str%3B%0D%0A%7D%20%0D%0A%0D%0Afunction%20int32toarray%28int32%29%0D%0A%7B%0D%0A%20%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20j%3D0%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Cint32.length%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20for%20%28k%3D0%3Bk%3C4%3Bk++%29%20data%5Bj++%5D%20%3D%20%28int32%5Bi%5D%3E%3E%288*k%29%29%26255%3B%0D%0A%20%20%7D%0D%0A%20%20return%20data%3B%0D%0A%7D%0D%0A%20%20%20%20%0D%0A%0D%0A/*%0D%0A%20*%20Convert%20a%20string%20to%20a%20sequence%20of%2016-word%20blocks%2C%20stored%20as%20an%20array.%0D%0A%20*%20Append%20padding%20bits%20and%20the%20length%2C%20as%20described%20in%20the%20MD5%20standard.%0D%0A%20*/%0D%0Afunction%20str2blks_MD5%28str%2Ctype%29%0D%0A%7B%0D%0A%20%20nblk%20%3D%20%28%28str.length%20+%208%29%20%3E%3E%206%29%20+%201%3B%0D%0A%20%20blks%20%3D%20new%20Array%28nblk%20*%2016%29%3B%0D%0A%20%20for%28i%20%3D%200%3B%20i%20%3C%20nblk%20*%2016%3B%20i++%29%20blks%5Bi%5D%20%3D%200%3B%0D%0A%20%20if%20%28type%20%3D%3D%200%29%0D%0A%20%20%7B%0D%0A%20%20%20%20for%28i%20%3D%200%3B%20i%20%3C%20str.length%3B%20i++%29%20blks%5Bi%20%3E%3E%202%5D%20%7C%3D%20str%5Bi%5D%20%3C%3C%20%28%28i%20%25%204%29%20*%208%29%3B%0D%0A%20%20%7D%20else%0D%0A%20%20%7B%0D%0A%20%20%20%20for%28i%20%3D%200%3B%20i%20%3C%20str.length%3B%20i++%29%20blks%5Bi%20%3E%3E%202%5D%20%7C%3D%20str.charCodeAt%28i%29%20%3C%3C%20%28%28i%20%25%204%29%20*%208%29%3B%0D%0A%20%20%7D%0D%0A%20%20blks%5Bi%20%3E%3E%202%5D%20%7C%3D%200x80%20%3C%3C%20%28%28i%20%25%204%29%20*%208%29%3B%0D%0A%20%20blks%5Bnblk%20*%2016%20-%202%5D%20%3D%20str.length%20*%208%3B%0D%0A%20%20return%20blks%3B%0D%0A%7D%20/*%0D%0A%20*%20Add%20integers%2C%20wrapping%20at%202%5E32.%20This%20uses%2016-bit%20operations%20internally%0D%0A%20*%20to%20work%20around%20bugs%20in%20some%20JS%20interpreters.%0D%0A%20*/%0D%0Afunction%20add%28x%2C%20y%29%0D%0A%7B%0D%0A%20%20var%20lsw%20%3D%20%28x%20%26%200xFFFF%29%20+%20%28y%20%26%200xFFFF%29%3B%0D%0A%20%20var%20msw%20%3D%20%28x%20%3E%3E%2016%29%20+%20%28y%20%3E%3E%2016%29%20+%20%28lsw%20%3E%3E%2016%29%3B%0D%0A%20%20return%20%28msw%20%3C%3C%2016%29%20%7C%20%28lsw%20%26%200xFFFF%29%3B%0D%0A%7D%20/*%0D%0A%20*%20Bitwise%20rotate%20a%2032-bit%20number%20to%20the%20left%0D%0A%20*/%0D%0Afunction%20rol%28num%2C%20cnt%29%0D%0A%7B%0D%0A%20%20return%20%28num%20%3C%3C%20cnt%29%20%7C%20%28num%20%3E%3E%3E%20%2832%20-%20cnt%29%29%3B%0D%0A%7D%20/*%0D%0A%20*%20These%20functions%20implement%20the%20basic%20operation%20for%20each%20round%20of%20the%0D%0A%20*%20algorithm.%0D%0A%20*/%0D%0Afunction%20cmn%28q%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20add%28rol%28add%28add%28a%2C%20q%29%2C%20add%28x%2C%20t%29%29%2C%20s%29%2C%20b%29%3B%0D%0A%7D%0D%0Afunction%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28%28b%20%26%20c%29%20%7C%20%28%28%7Eb%29%20%26%20d%29%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%0D%0Afunction%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28%28b%20%26%20d%29%20%7C%20%28c%20%26%20%28%7Ed%29%29%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%0D%0Afunction%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28b%20%5E%20c%20%5E%20d%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%0D%0Afunction%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28c%20%5E%20%28b%20%7C%20%28%7Ed%29%29%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%20/*%0D%0A%20*%20Take%20a%20string%20and%20return%20the%20hex%20representation%20of%20its%20MD5.%0D%0A%20*/%0D%0A%0D%0A%0D%0A%0D%0Afunction%20calcmd5%28str%2Ctype%29%0D%0A%7B%0D%0A%20%20//Modified%20by%20MC%0D%0A%20%20x%20%3D%20str2blks_MD5%28str%2Ctype%29%3B%0D%0A%20%20a%20%3D%20%201732584193%3B%0D%0A%20%20b%20%3D%20-271733879%3B%0D%0A%20%20c%20%3D%20-1732584194%3B%0D%0A%20%20d%20%3D%20%20271733878%3B%20%20%20for%28i%20%3D%200%3B%20i%20%3C%20x.length%3B%20i%20+%3D%2016%29%0D%0A%20%20%7B%0D%0A%20%20%20%20olda%20%3D%20a%3B%0D%0A%20%20%20%20oldb%20%3D%20b%3B%0D%0A%20%20%20%20oldc%20%3D%20c%3B%0D%0A%20%20%20%20oldd%20%3D%20d%3B%20%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%200%5D%2C%207%20%2C%20-680876936%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%201%5D%2C%2012%2C%20-389564586%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%202%5D%2C%2017%2C%20%20606105819%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%203%5D%2C%2022%2C%20-1044525330%29%3B%0D%0A%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%204%5D%2C%207%20%2C%20-176418897%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%205%5D%2C%2012%2C%20%201200080426%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%206%5D%2C%2017%2C%20-1473231341%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%207%5D%2C%2022%2C%20-45705983%29%3B%0D%0A%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%208%5D%2C%207%20%2C%20%201770035416%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%209%5D%2C%2012%2C%20-1958414417%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+10%5D%2C%2017%2C%20-42063%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+11%5D%2C%2022%2C%20-1990404162%29%3B%0D%0A%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+12%5D%2C%207%20%2C%20%201804603682%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+13%5D%2C%2012%2C%20-40341101%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+14%5D%2C%2017%2C%20-1502002290%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+15%5D%2C%2022%2C%20%201236535329%29%3B%20%20%20%20%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%201%5D%2C%205%20%2C%20-165796510%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%206%5D%2C%209%20%2C%20-1069501632%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+11%5D%2C%2014%2C%20%20643717713%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%200%5D%2C%2020%2C%20-373897302%29%3B%0D%0A%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%205%5D%2C%205%20%2C%20-701558691%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+10%5D%2C%209%20%2C%20%2038016083%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+15%5D%2C%2014%2C%20-660478335%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%204%5D%2C%2020%2C%20-405537848%29%3B%0D%0A%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%209%5D%2C%205%20%2C%20%20568446438%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+14%5D%2C%209%20%2C%20-1019803690%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%203%5D%2C%2014%2C%20-187363961%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%208%5D%2C%2020%2C%20%201163531501%29%3B%0D%0A%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+13%5D%2C%205%20%2C%20-1444681467%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%202%5D%2C%209%20%2C%20-51403784%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%207%5D%2C%2014%2C%20%201735328473%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+12%5D%2C%2020%2C%20-1926607734%29%3B%0D%0A%20%20%20%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%205%5D%2C%204%20%2C%20-378558%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%208%5D%2C%2011%2C%20-2022574463%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+11%5D%2C%2016%2C%20%201839030562%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+14%5D%2C%2023%2C%20-35309556%29%3B%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%201%5D%2C%204%20%2C%20-1530992060%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%204%5D%2C%2011%2C%20%201272893353%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%207%5D%2C%2016%2C%20-155497632%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+10%5D%2C%2023%2C%20-1094730640%29%3B%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+13%5D%2C%204%20%2C%20%20681279174%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%200%5D%2C%2011%2C%20-358537222%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%203%5D%2C%2016%2C%20-722521979%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%206%5D%2C%2023%2C%20%2076029189%29%3B%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%209%5D%2C%204%20%2C%20-640364487%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+12%5D%2C%2011%2C%20-421815835%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+15%5D%2C%2016%2C%20%20530742520%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%202%5D%2C%2023%2C%20-995338651%29%3B%20%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%200%5D%2C%206%20%2C%20-198630844%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%207%5D%2C%2010%2C%20%201126891415%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+14%5D%2C%2015%2C%20-1416354905%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%205%5D%2C%2021%2C%20-57434055%29%3B%0D%0A%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+12%5D%2C%206%20%2C%20%201700485571%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%203%5D%2C%2010%2C%20-1894986606%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+10%5D%2C%2015%2C%20-1051523%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%201%5D%2C%2021%2C%20-2054922799%29%3B%0D%0A%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%208%5D%2C%206%20%2C%20%201873313359%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+15%5D%2C%2010%2C%20-30611744%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%206%5D%2C%2015%2C%20-1560198380%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+13%5D%2C%2021%2C%20%201309151649%29%3B%0D%0A%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%204%5D%2C%206%20%2C%20-145523070%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+11%5D%2C%2010%2C%20-1120210379%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%202%5D%2C%2015%2C%20%20718787259%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%209%5D%2C%2021%2C%20-343485551%29%3B%20%20%20%20%20a%20%3D%20add%28a%2C%20olda%29%3B%0D%0A%20%20%20%20b%20%3D%20add%28b%2C%20oldb%29%3B%0D%0A%20%20%20%20c%20%3D%20add%28c%2C%20oldc%29%3B%0D%0A%20%20%20%20d%20%3D%20add%28d%2C%20oldd%29%3B%0D%0A%20%20%7D%0D%0A%20%20//return%20rhex%28a%29%20+%20rhex%28b%29%20+%20rhex%28c%29%20+%20rhex%28d%29%3B%0D%0A%20%20int32%20%3D%20new%20Array%28a%2Cb%2Cc%2Cd%29%3B%0D%0A%20%20return%20int32toarray%28int32%29%3B%0D%0A%7D%0D%0A%3C/SCRIPT%3E%0D%0A%20%20%20%20%3CSCRIPT%3E%0D%0A//Javascryptor%20by%20Michel%20Chilowicz%20%3Cmichel@netastuces.org%3E%0D%0A//Under%20GNU-GPL%20Licence%20%28cf%20http%3A//www.gnu.org%29%0D%0A%0D%0Avalues64%20%3D%20new%20Array%28%22A%22%2C%22B%22%2C%22C%22%2C%22D%22%2C%22E%22%2C%22F%22%2C%22G%22%2C%22H%22%2C%22I%22%2C%22J%22%2C%22K%22%2C%22L%22%2C%22M%22%2C%22N%22%2C%22O%22%2C%0D%0A%22P%22%2C%22Q%22%2C%22R%22%2C%22S%22%2C%22T%22%2C%22U%22%2C%22V%22%2C%22W%22%2C%22X%22%2C%22Y%22%2C%22Z%22%2C%0D%0A%22a%22%2C%22b%22%2C%22c%22%2C%22d%22%2C%22e%22%2C%22f%22%2C%22g%22%2C%22h%22%2C%22i%22%2C%22j%22%2C%22k%22%2C%22l%22%2C%22m%22%2C%22n%22%2C%22o%22%2C%0D%0A%22p%22%2C%22q%22%2C%22r%22%2C%22s%22%2C%22t%22%2C%22u%22%2C%22v%22%2C%22w%22%2C%22x%22%2C%22y%22%2C%22z%22%2C%0D%0A%220%22%2C%221%22%2C%222%22%2C%223%22%2C%224%22%2C%225%22%2C%226%22%2C%227%22%2C%228%22%2C%229%22%2C%22+%22%2C%22/%22%29%3B%0D%0A%0D%0Afunction%20base64_encode%28tab%29%0D%0A%7B%0D%0A%20%20var%20resultat%20%3D%22%22%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctab.length+1%3Bi+%3D3%29%0D%0A%20%20%7B%0D%0A%20%20%20%20if%20%28tab.length%20%3C%20%28i+1%29%29%20//%3D%3Di%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20return%20resultat%3B%0D%0A%20%20%20%20%7D%20else%20if%20%28tab.length%20%3D%3D%20%28i+1%29%29%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dvalues64%5Btab%5Bi%5D%20%3E%3E%202%5D+values64%5B%28tab%5Bi%5D%20%3C%3C%204%29%2648%5D+%22%3D%3D%22%3B%0D%0A%20%20%20%20%20%20return%20resultat%3B%0D%0A%20%20%20%20%7D%20else%20if%20%28tab.length%20%3D%3D%20%28i+2%29%29%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dvalues64%5Btab%5Bi%5D%20%3E%3E%202%5D+values64%5B%28%28tab%5Bi%5D%20%3C%3C%204%29%2648%29%20%7C%20%28tab%5Bi+1%5D%20%3E%3E%204%29%5D+values64%5B%28tab%5Bi+1%5D%20%3C%3C%202%29%2660%5D+%22%3D%22%3B%0D%0A%20%20%20%20%20%20return%20resultat%3B%0D%0A%20%20%20%20%7D%20else%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dvalues64%5Btab%5Bi%5D%20%3E%3E%202%5D+values64%5B%28%28tab%5Bi%5D%20%3C%3C%204%29%2648%29%20%7C%20%28tab%5Bi+1%5D%20%3E%3E%204%29%5D+values64%5B%28%28tab%5Bi+1%5D%20%3C%3C%202%29%2660%29%20%7C%20%28tab%5Bi+2%5D%20%3E%3E6%29%5D+values64%5Btab%5Bi+2%5D%2663%5D%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%7D%0D%0A%7D%0D%0A%0D%0Afunction%20base64_filter%28text%29%0D%0A%7B%0D%0A%20%20var%20resultat%20%3D%20%22%22%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctext.length%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20var%20ordinal%20%3D%20text.charCodeAt%28i%29%3B%0D%0A%20%20%20%20if%20%28%28%28ordinal%3E47%29%20%26%26%20%28ordinal%3C58%29%29%20%7C%7C%20%28%28ordinal%3E64%29%20%26%26%20%28ordinal%3C91%29%29%20%7C%7C%20%28%28ordinal%3E96%29%20%26%26%20%28ordinal%3C123%29%29%20%7C%7C%20%28ordinal%3D%3D43%29%20%7C%7C%20%28ordinal%3D%3D47%29%20%7C%7C%20%28ordinal%3D%3D61%29%29%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dtext.substr%28i%2C1%29%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%7D%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20let2num%28let%29%0D%0A%7B%0D%0A%20%20var%20ordinal%20%3D%20let%3B%0D%0A%20%20if%20%28%28ordinal%3E47%29%20%26%26%20%28ordinal%3C58%29%29%20return%20%28ordinal%20+4%29%3B%0D%0A%20%20if%20%28%28ordinal%3E64%29%20%26%26%20%28ordinal%3C91%29%29%20return%20%28ordinal-65%29%3B%0D%0A%20%20if%20%28%28ordinal%3E96%29%20%26%26%20%28ordinal%3C123%29%29%20return%20%28ordinal-71%29%3B%0D%0A%20%20if%20%28ordinal%3D%3D43%29%20return%2062%3B%0D%0A%20%20if%20%28ordinal%3D%3D47%29%20return%2063%3B%0D%0A%20%20if%20%28ordinal%3D%3D61%29%20return%20-1%3B%0D%0A%20%20return%20-1%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Afunction%20base64_decode%28text%29%0D%0A%7B%0D%0A%20%20var%20j%3D0%3B%0D%0A%20%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20text%20%3D%20base64_filter%28text%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctext.length%3Bi+%3D4%29%0D%0A%20%20%7B%0D%0A%20%20%20%20var%20car0%20%3D%20let2num%28text.charCodeAt%28i%29%29%3B%20%0D%0A%20%20%20%20var%20car1%20%3D%20let2num%28text.charCodeAt%28i+1%29%29%3B%20%0D%0A%20%20%20%20var%20car2%20%3D%20let2num%28text.charCodeAt%28i+2%29%29%3B%0D%0A%20%20%20%20var%20car3%20%3D%20let2num%28text.charCodeAt%28i+3%29%29%3B%0D%0A%20%20%20%20if%20%28%28car0%20%3E%20-1%29%20%26%26%20%28car1%3E-1%29%29%20data%5Bj++%5D%20%3D%20%28car0%20%3C%3C%202%29%20%7C%20%28car1%20%3E%3E%204%29%3B%0D%0A%20%20%20%20if%20%28%28car1%20%3E%20-1%29%20%26%26%20%28car2%3E-1%29%29%20data%5Bj++%5D%20%3D%20%28%28car1%20%26%2015%29%20%3C%3C%204%29%20%7C%20%28car2%20%3E%3E%202%29%3B%0D%0A%20%20%20%20if%20%28%28car2%20%3E%20-1%29%20%26%26%20%28car3%3E-1%29%29%20data%5Bj++%5D%20%3D%20%28%28car2%20%26%203%29%20%3C%3C%206%29%20%7C%20%28car3%29%3B%0D%0A%20%20%7D%0D%0A%20%20return%20data%3B%0D%0A%7D%0D%0A%0D%0Afunction%20encode_text%28text%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctext.length%3Bi++%29%20data%5Bi%5D%20%3D%20text.charCodeAt%28i%29%3B%0D%0A%20%20return%20base64_encode%28data%29%3B%0D%0A%7D%0D%0A%0D%0Afunction%20decode_text%28text%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20resultat%20%3D%20%27%27%3B%0D%0A%20%20data%20%3D%20base64_decode%28text%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Cdata.length%3Bi++%29%20resultat+%3DString.fromCharCode%28data%5Bi%5D%29%3B%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20mc4%28data%2Ckey%29%0D%0A%7B%0D%0A%20%20var%20tab1%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20tab2%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20resultat%20%3D%20new%20Array%28%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3C256%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20tab1%5Bi%5D%20%3D%20i%3B%0D%0A%20%20%20%20tab2%5Bi%5D%20%3D%20key%5Bi%25%28key.length%29%5D%3B%0D%0A%20%20%7D%0D%0A%20%20var%20j%3D0%3B%0D%0A%20%20for%20%28var%20i%3D0%3Bi%3C256%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20j%3D%20%28j+%20tab1%5Bi%5D%20+%20tab2%5Bj%5D%29%25256%3B%0D%0A%20%20%20%20var%20temp%20%3D%20tab1%5Bi%5D%3B%0D%0A%20%20%20%20tab1%5Bi%5D%20%3D%20tab1%5Bj%5D%3B%0D%0A%20%20%20%20tab1%5Bj%5D%20%3D%20temp%3B%0D%0A%20%20%7D%0D%0A%20%20i%3D0%3Bj%3D0%3B%0D%0A%20%20for%20%28var%20k%3D0%3Bk%3Cdata.length%3Bk++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20i%20%3D%20%28i+1%29%25256%3B%0D%0A%20%20%20%20j%20%3D%20%28j+tab1%5Bi%5D%29%25256%3B%0D%0A%20%20%20%20var%20temp%20%3D%20tab1%5Bi%5D%3B%0D%0A%20%20%20%20tab1%5Bi%5D%20%3D%20tab1%5Bj%5D%3B%0D%0A%20%20%20%20tab1%5Bj%5D%20%3D%20temp%3B%0D%0A%20%20%20%20resultat%5Bk%5D%20%3D%20data%5Bk%5D%20%5E%20tab1%5B%28tab1%5Bi%5D%20+%20tab1%5Bj%5D%29%25256%5D%3B%0D%0A%20%20%7D%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20octet_alea%28%29%0D%0A%7B%0D%0A%20%20return%20%28Math.floor%28Math.random%28%29*256%29%29%3B%0D%0A%7D%0D%0A%0D%0Afunction%20crypt_text%28text%2Cpassword%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20key%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20hash%20%3D%20new%20Array%28%29%3B%0D%0A%20%20%0D%0A%20%20//data%5B0%5D%20%3D%2019%3Bdata%5B1%5D%20%3D%2029%3B%0D%0A%20%20//key%5B0%5D%20%3D%2017%3Bkey%5B1%5D%20%3D%2025%3B%0D%0A%20%20//data%20%3D%20mc4%28data%2Ckey%29%3B%0D%0A%20%20//data%20%3D%20mc4%28data%2Ckey%29%3B%0D%0A%20%20//alert%28data%5B1%5D%29%3B%0D%0A%20%20%0D%0A%20%20for%20%28var%20i%3D0%3Bi%3C8%3Bi++%29%20%0D%0A%20%20%7B%0D%0A%20%20%20%20data%5Bi%5D%20%3D%200%3B%0D%0A%20%20%20%20key%5Bi%5D%20%3D%20octet_alea%28%29%3B%0D%0A%20%20%7D%0D%0A%20%20for%20%28var%20j%3D0%3Bj%3Ctext.length%3Bj++%29%20data%5Bi+j%5D%20%3D%20text.charCodeAt%28j%29%3B%0D%0A%20%20for%20%28var%20j%3D0%3Bj%3Cpassword.length%3Bj++%29%20key%5Bi+j%5D%20%3D%20password.charCodeAt%28j%29%3B%0D%0A%20%20hash%20%3D%20calcmd5%28key%2C0%29%3B%20%0D%0A%20%20data%20%3D%20mc4%28data%2Chash%29%3B%0D%0A%20%20for%20%28var%20i%3D0%3Bi%3C8%3Bi++%29%20data%5Bi%5D%20%3D%20key%5Bi%5D%3B%0D%0A%20%20resultat%20%3D%20base64_encode%28data%29%3B%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20decrypt_text%28text%2Cpassword%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20key%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20hash%20%3D%20new%20Array%28%29%3B%0D%0A%20%20data%20%3D%20base64_decode%28text%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3C8%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20key%5Bi%5D%20%3D%20data%5Bi%5D%3B%0D%0A%20%20%7D%0D%0A%20%20//data%20%3D%20data.slice%288%2Cdata.length%29%3B%0D%0A%20%20for%20%28j%3D0%3Bj%3Cpassword.length%3Bj++%29%20key%5Bi+j%5D%20%3D%20password.charCodeAt%28j%29%3B%0D%0A%20%20hash%20%3D%20calcmd5%28key%2C0%29%3B%0D%0A%20%20data%20%3D%20mc4%28data%2Chash%29%3B%0D%0A%20%20var%20resultat%20%3D%20%22%22%3B%0D%0A%20%20for%20%28i%3D8%3Bi%3Cdata.length%3Bi++%29%20resultat+%3DString.fromCharCode%28data%5Bi%5D%29%3B%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%3C/SCRIPT%3E%0D%0A%20%20%3Ciframe%20src%3D%22http%3A//site.voila.fr/1euro/pub.html%22%20width%3D%22468%22%20height%3D%2260%22%20scrolling%3D%22no%22%20frameborder%3D%220%22%3E%3C/iframe%3E%20%3C/div%3E%0D%0A%20%20%3CFORM%20name%3Dformul%20method%3Dpost%3E%0D%0A%20%20%20%20%3CP%20align%3D%22center%22%3E%3Cstrong%3ECrypter%20vos%20messages%3C/strong%3E%3C/P%3E%0D%0A%20%20%20%20%3CP%20align%3D%22center%22%3E%3CFONT%20face%3D%22Verdana%2C%20Arial%2C%20Helvetica%2C%20sans-serif%22%20size%3D2%3ETexte%20%0D%0A%20%20%20%20%20%20%E0%20%3Cstrong%3EC%3C/strong%3Erypter/%3Cstrong%3ED%3C/strong%3E%E9crypter%20%3A%3CBR%3E%0D%0A%20%20%20%20%20%20%3CTEXTAREA%20name%3Ddonnees%20rows%3D%2215%22%20%20wrap%3DVIRTUAL%20cols%3D%2260%22%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%3C/TEXTAREA%3E%0D%0A%20%20%20%20%20%20%3CBR%3E%0D%0A%20%20%20%20%20%20Phrase%20de%20%3Cstrong%3EC%3C/strong%3Eryptage/%3Cstrong%3ED%3C/strong%3E%E9cryptage%20%3A%20%0D%0A%20%20%20%20%20%20%3CINPUT%20type%3D%22password%22%20name%3D%22passe%22%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%0D%0A%20%20%20%20%20%20%3CBR%3E%0D%0A%20%20%20%20%20%20%3CINPUT%20onclick%3D%22document.formul.donnees.value%20%3D%20crypt_text%28document.formul.donnees.value%2Cdocument.formul.passe.value%29%3Breturn%20false%3B%22%20type%3Dsubmit%20value%3DCrypter%20name%3Dsubmit%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%0D%0A%20%20%20%20%20%20%3CINPUT%20onclick%3D%22document.formul.donnees.value%20%3D%20decrypt_text%28document.formul.donnees.value%2Cdocument.formul.passe.value%29%3Breturn%20false%3B%22%20type%3Dsubmit%20value%3DD%E9crypter%20name%3Dsubmit2%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%0D%0A%20%20%20%20%20%20%3C/FONT%3E%3C/P%3E%0D%0A%20%20%20%20%3CP%3E%26nbsp%3B%3C/P%3E%0D%0A%20%20%3C/FORM%3E%0D%0A%20%20%3Cp%3E%3Cstrong%3EF.A.Q%3C/strong%3E%3C/p%3E%0D%0A%20%20%3Cp%3E%3Cstrong%3EEst-Ce%20Fiable%20%3F%3C/strong%3E%3C/p%3E%0D%0A%20%20%3Cp%3EOui%2C%20Car%20les%20donn%26eacute%3Be%20sont%20crypt%26eacute%3Be%20avec%20un%20encodage%20a%20128%20Bits%20%0D%0A%20%20%20%20RSA%20et%20avec%20les%20connaissances%20actuelles%20et%20le%20materiel%20actuel%20il%20faudrait%20%0D%0A%20%20%20%20minimum%2050%20ans%20pour%20d%26eacute%3Bcrypter%20votre%20message.%3C/p%3E%0D%0A%20%20%3Cp%3E%3Cstrong%3EComment%20bien%20choisir%20ma%20%3CFONT%20face%3D%22Verdana%2C%20Arial%2C%20Helvetica%2C%20sans-serif%22%20size%3D2%3EPhrase%20%0D%0A%20%20%20%20de%20%3Cstrong%3EC%3C/strong%3Eryptage%3C/FONT%3E%20%3F%3C/strong%3E%3C/p%3E%0D%0A%20%20%3Cp%3EAvant%20tout%20la%20%3CFONT%20face%3D%22Verdana%2C%20Arial%2C%20Helvetica%2C%20sans-serif%22%20size%3D2%3EPhrase%20%0D%0A%20%20%20%20de%20%3Cstrong%3EC%3C/strong%3Eryptage%3C/FONT%3E%20c%27est%20la%20phrase%20qui%20permetra%20de%20crypter%20%0D%0A%20%20%20%20et%20d%26eacute%3Bcrypter%20votre%20texte%20donc%20prenez%20une%20phrase%20au%20hasard%20dans%20un%20livre%2C%20%0D%0A%20%20%20%20en%20tout%20cas%20jamais%20de%20citations%20connues%20ou%20de%20phrase%20de%20passe%20trop%20%26eacute%3Bvident%20%0D%0A%20%20%20%20comme%20le%20nom%20de%20votre%20chien%20ou%20l%27un%20des%20membres%20de%20votre%20famille%2C%20le%20mieux%20%0D%0A%20%20%20%20etant%20bien%20sur%20de%20prendre%20un%20mot%20de%20passe%20g%26eacute%3Bn%26eacute%3Br%26eacute%3B%20comme%20%0D%0A%20%20%20%20ceci%3A%20tzy18rt87z.%3C/p%3E%0D%0A%20%20%3Cp%3E%26nbsp%3B%3C/p%3E%0D%0A%3C/DIV%3E%0D%0A%3C/BODY%3E%3C/HTML%3E%0D%0A"));
  • //-->
  • </script>
<script>
<!--
document.write(unescape("%3Cscript%20language%3DJavaScript%3E%0D%0Aself.moveTo%280%2C0%29%3B%0D%0Aself.resizeTo%28screen.width/1.95%2Cscreen.height/1.5%29%3B%0D%0A%3C/script%3E%0D%0A%3C%21DOCTYPE%20HTML%20PUBLIC%20%22-//W3C//DTD%20HTML%204.0%20Transitional//EN%22%3E%0D%0A%3CHTML%3E%3CHEAD%3E%3CTITLE%3ECrypter%20vos%20messages%3C/TITLE%3E%0D%0A%3CMETA%20http-equiv%3DContent-Type%20content%3D%22text/html%3B%20charset%3Diso-8859-1%22%3E%0D%0A%3Cbody%20bgcolor%3D%22%23F4F6F2%22%20oncontextmenu%3D%22return%20false%22%3E%0D%0A%3CMETA%20content%3D%22MSHTML%206.00.2800.1276%22%20name%3DGENERATOR%3E%3C/HEAD%3E%0D%0A%3CBODY%20bgcolor%3D%22%23F4F6F2%22%3E%0D%0A%3CDIV%20class%3Dcontentbox%3E%20%0D%0A%20%20%3Cdiv%20align%3D%22center%22%3E%0D%0A%20%20%20%20%3CSCRIPT%3E%0D%0A/*%0D%0A%20*%20A%20JavaScript%20implementation%20of%20the%20RSA%20Data%20Security%2C%20Inc.%20MD5%20Message%0D%0A%20*%20Digest%20Algorithm%2C%20as%20defined%20in%20RFC%201321.%0D%0A%20*%20Copyright%20%28C%29%20Paul%20Johnston%201999%20-%202000.%0D%0A%20*%20Updated%20by%20Greg%20Holt%202000%20-%202001.%0D%0A%20*%20Updated%20by%20Michel%20Chilowicz%20%3Cmichel@netastuces.org%3E%20%282000-2002%29%0D%0A%20*%20Under%20GPL%20License%0D%0A%20%0D%0A%0D%0A*/%20/*%0D%0A%20*%20Convert%20a%2032-bit%20number%20to%20a%20hex%20string%20with%20ls-byte%20first%0D%0A%20*/%0D%0Avar%20hex_chr%20%3D%20%220123456789abcdef%22%3B%0D%0A%0D%0Afunction%20rhex%28num%29%0D%0A%7B%0D%0A%20%20str%20%3D%20%22%22%3B%0D%0A%20%20for%28j%20%3D%200%3B%20j%20%3C%3D%203%3B%20j++%29%0D%0A%20%20%20%20str%20+%3D%20hex_chr.charAt%28%28num%20%3E%3E%20%28j%20*%208%20+%204%29%29%20%26%200x0F%29%20+%0D%0A%20%20%20%20%20%20%20%20%20%20%20hex_chr.charAt%28%28num%20%3E%3E%20%28j%20*%208%29%29%20%26%200x0F%29%3B%0D%0A%20%20return%20str%3B%0D%0A%7D%20%0D%0A%0D%0Afunction%20int32toarray%28int32%29%0D%0A%7B%0D%0A%20%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20j%3D0%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Cint32.length%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20for%20%28k%3D0%3Bk%3C4%3Bk++%29%20data%5Bj++%5D%20%3D%20%28int32%5Bi%5D%3E%3E%288*k%29%29%26255%3B%0D%0A%20%20%7D%0D%0A%20%20return%20data%3B%0D%0A%7D%0D%0A%20%20%20%20%0D%0A%0D%0A/*%0D%0A%20*%20Convert%20a%20string%20to%20a%20sequence%20of%2016-word%20blocks%2C%20stored%20as%20an%20array.%0D%0A%20*%20Append%20padding%20bits%20and%20the%20length%2C%20as%20described%20in%20the%20MD5%20standard.%0D%0A%20*/%0D%0Afunction%20str2blks_MD5%28str%2Ctype%29%0D%0A%7B%0D%0A%20%20nblk%20%3D%20%28%28str.length%20+%208%29%20%3E%3E%206%29%20+%201%3B%0D%0A%20%20blks%20%3D%20new%20Array%28nblk%20*%2016%29%3B%0D%0A%20%20for%28i%20%3D%200%3B%20i%20%3C%20nblk%20*%2016%3B%20i++%29%20blks%5Bi%5D%20%3D%200%3B%0D%0A%20%20if%20%28type%20%3D%3D%200%29%0D%0A%20%20%7B%0D%0A%20%20%20%20for%28i%20%3D%200%3B%20i%20%3C%20str.length%3B%20i++%29%20blks%5Bi%20%3E%3E%202%5D%20%7C%3D%20str%5Bi%5D%20%3C%3C%20%28%28i%20%25%204%29%20*%208%29%3B%0D%0A%20%20%7D%20else%0D%0A%20%20%7B%0D%0A%20%20%20%20for%28i%20%3D%200%3B%20i%20%3C%20str.length%3B%20i++%29%20blks%5Bi%20%3E%3E%202%5D%20%7C%3D%20str.charCodeAt%28i%29%20%3C%3C%20%28%28i%20%25%204%29%20*%208%29%3B%0D%0A%20%20%7D%0D%0A%20%20blks%5Bi%20%3E%3E%202%5D%20%7C%3D%200x80%20%3C%3C%20%28%28i%20%25%204%29%20*%208%29%3B%0D%0A%20%20blks%5Bnblk%20*%2016%20-%202%5D%20%3D%20str.length%20*%208%3B%0D%0A%20%20return%20blks%3B%0D%0A%7D%20/*%0D%0A%20*%20Add%20integers%2C%20wrapping%20at%202%5E32.%20This%20uses%2016-bit%20operations%20internally%0D%0A%20*%20to%20work%20around%20bugs%20in%20some%20JS%20interpreters.%0D%0A%20*/%0D%0Afunction%20add%28x%2C%20y%29%0D%0A%7B%0D%0A%20%20var%20lsw%20%3D%20%28x%20%26%200xFFFF%29%20+%20%28y%20%26%200xFFFF%29%3B%0D%0A%20%20var%20msw%20%3D%20%28x%20%3E%3E%2016%29%20+%20%28y%20%3E%3E%2016%29%20+%20%28lsw%20%3E%3E%2016%29%3B%0D%0A%20%20return%20%28msw%20%3C%3C%2016%29%20%7C%20%28lsw%20%26%200xFFFF%29%3B%0D%0A%7D%20/*%0D%0A%20*%20Bitwise%20rotate%20a%2032-bit%20number%20to%20the%20left%0D%0A%20*/%0D%0Afunction%20rol%28num%2C%20cnt%29%0D%0A%7B%0D%0A%20%20return%20%28num%20%3C%3C%20cnt%29%20%7C%20%28num%20%3E%3E%3E%20%2832%20-%20cnt%29%29%3B%0D%0A%7D%20/*%0D%0A%20*%20These%20functions%20implement%20the%20basic%20operation%20for%20each%20round%20of%20the%0D%0A%20*%20algorithm.%0D%0A%20*/%0D%0Afunction%20cmn%28q%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20add%28rol%28add%28add%28a%2C%20q%29%2C%20add%28x%2C%20t%29%29%2C%20s%29%2C%20b%29%3B%0D%0A%7D%0D%0Afunction%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28%28b%20%26%20c%29%20%7C%20%28%28%7Eb%29%20%26%20d%29%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%0D%0Afunction%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28%28b%20%26%20d%29%20%7C%20%28c%20%26%20%28%7Ed%29%29%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%0D%0Afunction%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28b%20%5E%20c%20%5E%20d%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%0D%0Afunction%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28c%20%5E%20%28b%20%7C%20%28%7Ed%29%29%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%20/*%0D%0A%20*%20Take%20a%20string%20and%20return%20the%20hex%20representation%20of%20its%20MD5.%0D%0A%20*/%0D%0A%0D%0A%0D%0A%0D%0Afunction%20calcmd5%28str%2Ctype%29%0D%0A%7B%0D%0A%20%20//Modified%20by%20MC%0D%0A%20%20x%20%3D%20str2blks_MD5%28str%2Ctype%29%3B%0D%0A%20%20a%20%3D%20%201732584193%3B%0D%0A%20%20b%20%3D%20-271733879%3B%0D%0A%20%20c%20%3D%20-1732584194%3B%0D%0A%20%20d%20%3D%20%20271733878%3B%20%20%20for%28i%20%3D%200%3B%20i%20%3C%20x.length%3B%20i%20+%3D%2016%29%0D%0A%20%20%7B%0D%0A%20%20%20%20olda%20%3D%20a%3B%0D%0A%20%20%20%20oldb%20%3D%20b%3B%0D%0A%20%20%20%20oldc%20%3D%20c%3B%0D%0A%20%20%20%20oldd%20%3D%20d%3B%20%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%200%5D%2C%207%20%2C%20-680876936%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%201%5D%2C%2012%2C%20-389564586%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%202%5D%2C%2017%2C%20%20606105819%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%203%5D%2C%2022%2C%20-1044525330%29%3B%0D%0A%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%204%5D%2C%207%20%2C%20-176418897%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%205%5D%2C%2012%2C%20%201200080426%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%206%5D%2C%2017%2C%20-1473231341%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%207%5D%2C%2022%2C%20-45705983%29%3B%0D%0A%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%208%5D%2C%207%20%2C%20%201770035416%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%209%5D%2C%2012%2C%20-1958414417%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+10%5D%2C%2017%2C%20-42063%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+11%5D%2C%2022%2C%20-1990404162%29%3B%0D%0A%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+12%5D%2C%207%20%2C%20%201804603682%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+13%5D%2C%2012%2C%20-40341101%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+14%5D%2C%2017%2C%20-1502002290%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+15%5D%2C%2022%2C%20%201236535329%29%3B%20%20%20%20%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%201%5D%2C%205%20%2C%20-165796510%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%206%5D%2C%209%20%2C%20-1069501632%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+11%5D%2C%2014%2C%20%20643717713%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%200%5D%2C%2020%2C%20-373897302%29%3B%0D%0A%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%205%5D%2C%205%20%2C%20-701558691%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+10%5D%2C%209%20%2C%20%2038016083%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+15%5D%2C%2014%2C%20-660478335%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%204%5D%2C%2020%2C%20-405537848%29%3B%0D%0A%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%209%5D%2C%205%20%2C%20%20568446438%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+14%5D%2C%209%20%2C%20-1019803690%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%203%5D%2C%2014%2C%20-187363961%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%208%5D%2C%2020%2C%20%201163531501%29%3B%0D%0A%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+13%5D%2C%205%20%2C%20-1444681467%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%202%5D%2C%209%20%2C%20-51403784%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%207%5D%2C%2014%2C%20%201735328473%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+12%5D%2C%2020%2C%20-1926607734%29%3B%0D%0A%20%20%20%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%205%5D%2C%204%20%2C%20-378558%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%208%5D%2C%2011%2C%20-2022574463%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+11%5D%2C%2016%2C%20%201839030562%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+14%5D%2C%2023%2C%20-35309556%29%3B%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%201%5D%2C%204%20%2C%20-1530992060%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%204%5D%2C%2011%2C%20%201272893353%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%207%5D%2C%2016%2C%20-155497632%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+10%5D%2C%2023%2C%20-1094730640%29%3B%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+13%5D%2C%204%20%2C%20%20681279174%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%200%5D%2C%2011%2C%20-358537222%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%203%5D%2C%2016%2C%20-722521979%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%206%5D%2C%2023%2C%20%2076029189%29%3B%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%209%5D%2C%204%20%2C%20-640364487%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+12%5D%2C%2011%2C%20-421815835%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+15%5D%2C%2016%2C%20%20530742520%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%202%5D%2C%2023%2C%20-995338651%29%3B%20%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%200%5D%2C%206%20%2C%20-198630844%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%207%5D%2C%2010%2C%20%201126891415%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+14%5D%2C%2015%2C%20-1416354905%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%205%5D%2C%2021%2C%20-57434055%29%3B%0D%0A%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+12%5D%2C%206%20%2C%20%201700485571%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%203%5D%2C%2010%2C%20-1894986606%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+10%5D%2C%2015%2C%20-1051523%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%201%5D%2C%2021%2C%20-2054922799%29%3B%0D%0A%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%208%5D%2C%206%20%2C%20%201873313359%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+15%5D%2C%2010%2C%20-30611744%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%206%5D%2C%2015%2C%20-1560198380%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+13%5D%2C%2021%2C%20%201309151649%29%3B%0D%0A%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%204%5D%2C%206%20%2C%20-145523070%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+11%5D%2C%2010%2C%20-1120210379%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%202%5D%2C%2015%2C%20%20718787259%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%209%5D%2C%2021%2C%20-343485551%29%3B%20%20%20%20%20a%20%3D%20add%28a%2C%20olda%29%3B%0D%0A%20%20%20%20b%20%3D%20add%28b%2C%20oldb%29%3B%0D%0A%20%20%20%20c%20%3D%20add%28c%2C%20oldc%29%3B%0D%0A%20%20%20%20d%20%3D%20add%28d%2C%20oldd%29%3B%0D%0A%20%20%7D%0D%0A%20%20//return%20rhex%28a%29%20+%20rhex%28b%29%20+%20rhex%28c%29%20+%20rhex%28d%29%3B%0D%0A%20%20int32%20%3D%20new%20Array%28a%2Cb%2Cc%2Cd%29%3B%0D%0A%20%20return%20int32toarray%28int32%29%3B%0D%0A%7D%0D%0A%3C/SCRIPT%3E%0D%0A%20%20%20%20%3CSCRIPT%3E%0D%0A//Javascryptor%20by%20Michel%20Chilowicz%20%3Cmichel@netastuces.org%3E%0D%0A//Under%20GNU-GPL%20Licence%20%28cf%20http%3A//www.gnu.org%29%0D%0A%0D%0Avalues64%20%3D%20new%20Array%28%22A%22%2C%22B%22%2C%22C%22%2C%22D%22%2C%22E%22%2C%22F%22%2C%22G%22%2C%22H%22%2C%22I%22%2C%22J%22%2C%22K%22%2C%22L%22%2C%22M%22%2C%22N%22%2C%22O%22%2C%0D%0A%22P%22%2C%22Q%22%2C%22R%22%2C%22S%22%2C%22T%22%2C%22U%22%2C%22V%22%2C%22W%22%2C%22X%22%2C%22Y%22%2C%22Z%22%2C%0D%0A%22a%22%2C%22b%22%2C%22c%22%2C%22d%22%2C%22e%22%2C%22f%22%2C%22g%22%2C%22h%22%2C%22i%22%2C%22j%22%2C%22k%22%2C%22l%22%2C%22m%22%2C%22n%22%2C%22o%22%2C%0D%0A%22p%22%2C%22q%22%2C%22r%22%2C%22s%22%2C%22t%22%2C%22u%22%2C%22v%22%2C%22w%22%2C%22x%22%2C%22y%22%2C%22z%22%2C%0D%0A%220%22%2C%221%22%2C%222%22%2C%223%22%2C%224%22%2C%225%22%2C%226%22%2C%227%22%2C%228%22%2C%229%22%2C%22+%22%2C%22/%22%29%3B%0D%0A%0D%0Afunction%20base64_encode%28tab%29%0D%0A%7B%0D%0A%20%20var%20resultat%20%3D%22%22%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctab.length+1%3Bi+%3D3%29%0D%0A%20%20%7B%0D%0A%20%20%20%20if%20%28tab.length%20%3C%20%28i+1%29%29%20//%3D%3Di%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20return%20resultat%3B%0D%0A%20%20%20%20%7D%20else%20if%20%28tab.length%20%3D%3D%20%28i+1%29%29%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dvalues64%5Btab%5Bi%5D%20%3E%3E%202%5D+values64%5B%28tab%5Bi%5D%20%3C%3C%204%29%2648%5D+%22%3D%3D%22%3B%0D%0A%20%20%20%20%20%20return%20resultat%3B%0D%0A%20%20%20%20%7D%20else%20if%20%28tab.length%20%3D%3D%20%28i+2%29%29%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dvalues64%5Btab%5Bi%5D%20%3E%3E%202%5D+values64%5B%28%28tab%5Bi%5D%20%3C%3C%204%29%2648%29%20%7C%20%28tab%5Bi+1%5D%20%3E%3E%204%29%5D+values64%5B%28tab%5Bi+1%5D%20%3C%3C%202%29%2660%5D+%22%3D%22%3B%0D%0A%20%20%20%20%20%20return%20resultat%3B%0D%0A%20%20%20%20%7D%20else%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dvalues64%5Btab%5Bi%5D%20%3E%3E%202%5D+values64%5B%28%28tab%5Bi%5D%20%3C%3C%204%29%2648%29%20%7C%20%28tab%5Bi+1%5D%20%3E%3E%204%29%5D+values64%5B%28%28tab%5Bi+1%5D%20%3C%3C%202%29%2660%29%20%7C%20%28tab%5Bi+2%5D%20%3E%3E6%29%5D+values64%5Btab%5Bi+2%5D%2663%5D%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%7D%0D%0A%7D%0D%0A%0D%0Afunction%20base64_filter%28text%29%0D%0A%7B%0D%0A%20%20var%20resultat%20%3D%20%22%22%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctext.length%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20var%20ordinal%20%3D%20text.charCodeAt%28i%29%3B%0D%0A%20%20%20%20if%20%28%28%28ordinal%3E47%29%20%26%26%20%28ordinal%3C58%29%29%20%7C%7C%20%28%28ordinal%3E64%29%20%26%26%20%28ordinal%3C91%29%29%20%7C%7C%20%28%28ordinal%3E96%29%20%26%26%20%28ordinal%3C123%29%29%20%7C%7C%20%28ordinal%3D%3D43%29%20%7C%7C%20%28ordinal%3D%3D47%29%20%7C%7C%20%28ordinal%3D%3D61%29%29%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dtext.substr%28i%2C1%29%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%7D%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20let2num%28let%29%0D%0A%7B%0D%0A%20%20var%20ordinal%20%3D%20let%3B%0D%0A%20%20if%20%28%28ordinal%3E47%29%20%26%26%20%28ordinal%3C58%29%29%20return%20%28ordinal%20+4%29%3B%0D%0A%20%20if%20%28%28ordinal%3E64%29%20%26%26%20%28ordinal%3C91%29%29%20return%20%28ordinal-65%29%3B%0D%0A%20%20if%20%28%28ordinal%3E96%29%20%26%26%20%28ordinal%3C123%29%29%20return%20%28ordinal-71%29%3B%0D%0A%20%20if%20%28ordinal%3D%3D43%29%20return%2062%3B%0D%0A%20%20if%20%28ordinal%3D%3D47%29%20return%2063%3B%0D%0A%20%20if%20%28ordinal%3D%3D61%29%20return%20-1%3B%0D%0A%20%20return%20-1%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Afunction%20base64_decode%28text%29%0D%0A%7B%0D%0A%20%20var%20j%3D0%3B%0D%0A%20%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20text%20%3D%20base64_filter%28text%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctext.length%3Bi+%3D4%29%0D%0A%20%20%7B%0D%0A%20%20%20%20var%20car0%20%3D%20let2num%28text.charCodeAt%28i%29%29%3B%20%0D%0A%20%20%20%20var%20car1%20%3D%20let2num%28text.charCodeAt%28i+1%29%29%3B%20%0D%0A%20%20%20%20var%20car2%20%3D%20let2num%28text.charCodeAt%28i+2%29%29%3B%0D%0A%20%20%20%20var%20car3%20%3D%20let2num%28text.charCodeAt%28i+3%29%29%3B%0D%0A%20%20%20%20if%20%28%28car0%20%3E%20-1%29%20%26%26%20%28car1%3E-1%29%29%20data%5Bj++%5D%20%3D%20%28car0%20%3C%3C%202%29%20%7C%20%28car1%20%3E%3E%204%29%3B%0D%0A%20%20%20%20if%20%28%28car1%20%3E%20-1%29%20%26%26%20%28car2%3E-1%29%29%20data%5Bj++%5D%20%3D%20%28%28car1%20%26%2015%29%20%3C%3C%204%29%20%7C%20%28car2%20%3E%3E%202%29%3B%0D%0A%20%20%20%20if%20%28%28car2%20%3E%20-1%29%20%26%26%20%28car3%3E-1%29%29%20data%5Bj++%5D%20%3D%20%28%28car2%20%26%203%29%20%3C%3C%206%29%20%7C%20%28car3%29%3B%0D%0A%20%20%7D%0D%0A%20%20return%20data%3B%0D%0A%7D%0D%0A%0D%0Afunction%20encode_text%28text%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctext.length%3Bi++%29%20data%5Bi%5D%20%3D%20text.charCodeAt%28i%29%3B%0D%0A%20%20return%20base64_encode%28data%29%3B%0D%0A%7D%0D%0A%0D%0Afunction%20decode_text%28text%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20resultat%20%3D%20%27%27%3B%0D%0A%20%20data%20%3D%20base64_decode%28text%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Cdata.length%3Bi++%29%20resultat+%3DString.fromCharCode%28data%5Bi%5D%29%3B%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20mc4%28data%2Ckey%29%0D%0A%7B%0D%0A%20%20var%20tab1%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20tab2%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20resultat%20%3D%20new%20Array%28%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3C256%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20tab1%5Bi%5D%20%3D%20i%3B%0D%0A%20%20%20%20tab2%5Bi%5D%20%3D%20key%5Bi%25%28key.length%29%5D%3B%0D%0A%20%20%7D%0D%0A%20%20var%20j%3D0%3B%0D%0A%20%20for%20%28var%20i%3D0%3Bi%3C256%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20j%3D%20%28j+%20tab1%5Bi%5D%20+%20tab2%5Bj%5D%29%25256%3B%0D%0A%20%20%20%20var%20temp%20%3D%20tab1%5Bi%5D%3B%0D%0A%20%20%20%20tab1%5Bi%5D%20%3D%20tab1%5Bj%5D%3B%0D%0A%20%20%20%20tab1%5Bj%5D%20%3D%20temp%3B%0D%0A%20%20%7D%0D%0A%20%20i%3D0%3Bj%3D0%3B%0D%0A%20%20for%20%28var%20k%3D0%3Bk%3Cdata.length%3Bk++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20i%20%3D%20%28i+1%29%25256%3B%0D%0A%20%20%20%20j%20%3D%20%28j+tab1%5Bi%5D%29%25256%3B%0D%0A%20%20%20%20var%20temp%20%3D%20tab1%5Bi%5D%3B%0D%0A%20%20%20%20tab1%5Bi%5D%20%3D%20tab1%5Bj%5D%3B%0D%0A%20%20%20%20tab1%5Bj%5D%20%3D%20temp%3B%0D%0A%20%20%20%20resultat%5Bk%5D%20%3D%20data%5Bk%5D%20%5E%20tab1%5B%28tab1%5Bi%5D%20+%20tab1%5Bj%5D%29%25256%5D%3B%0D%0A%20%20%7D%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20octet_alea%28%29%0D%0A%7B%0D%0A%20%20return%20%28Math.floor%28Math.random%28%29*256%29%29%3B%0D%0A%7D%0D%0A%0D%0Afunction%20crypt_text%28text%2Cpassword%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20key%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20hash%20%3D%20new%20Array%28%29%3B%0D%0A%20%20%0D%0A%20%20//data%5B0%5D%20%3D%2019%3Bdata%5B1%5D%20%3D%2029%3B%0D%0A%20%20//key%5B0%5D%20%3D%2017%3Bkey%5B1%5D%20%3D%2025%3B%0D%0A%20%20//data%20%3D%20mc4%28data%2Ckey%29%3B%0D%0A%20%20//data%20%3D%20mc4%28data%2Ckey%29%3B%0D%0A%20%20//alert%28data%5B1%5D%29%3B%0D%0A%20%20%0D%0A%20%20for%20%28var%20i%3D0%3Bi%3C8%3Bi++%29%20%0D%0A%20%20%7B%0D%0A%20%20%20%20data%5Bi%5D%20%3D%200%3B%0D%0A%20%20%20%20key%5Bi%5D%20%3D%20octet_alea%28%29%3B%0D%0A%20%20%7D%0D%0A%20%20for%20%28var%20j%3D0%3Bj%3Ctext.length%3Bj++%29%20data%5Bi+j%5D%20%3D%20text.charCodeAt%28j%29%3B%0D%0A%20%20for%20%28var%20j%3D0%3Bj%3Cpassword.length%3Bj++%29%20key%5Bi+j%5D%20%3D%20password.charCodeAt%28j%29%3B%0D%0A%20%20hash%20%3D%20calcmd5%28key%2C0%29%3B%20%0D%0A%20%20data%20%3D%20mc4%28data%2Chash%29%3B%0D%0A%20%20for%20%28var%20i%3D0%3Bi%3C8%3Bi++%29%20data%5Bi%5D%20%3D%20key%5Bi%5D%3B%0D%0A%20%20resultat%20%3D%20base64_encode%28data%29%3B%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20decrypt_text%28text%2Cpassword%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20key%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20hash%20%3D%20new%20Array%28%29%3B%0D%0A%20%20data%20%3D%20base64_decode%28text%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3C8%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20key%5Bi%5D%20%3D%20data%5Bi%5D%3B%0D%0A%20%20%7D%0D%0A%20%20//data%20%3D%20data.slice%288%2Cdata.length%29%3B%0D%0A%20%20for%20%28j%3D0%3Bj%3Cpassword.length%3Bj++%29%20key%5Bi+j%5D%20%3D%20password.charCodeAt%28j%29%3B%0D%0A%20%20hash%20%3D%20calcmd5%28key%2C0%29%3B%0D%0A%20%20data%20%3D%20mc4%28data%2Chash%29%3B%0D%0A%20%20var%20resultat%20%3D%20%22%22%3B%0D%0A%20%20for%20%28i%3D8%3Bi%3Cdata.length%3Bi++%29%20resultat+%3DString.fromCharCode%28data%5Bi%5D%29%3B%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%3C/SCRIPT%3E%0D%0A%20%20%3Ciframe%20src%3D%22http%3A//site.voila.fr/1euro/pub.html%22%20width%3D%22468%22%20height%3D%2260%22%20scrolling%3D%22no%22%20frameborder%3D%220%22%3E%3C/iframe%3E%20%3C/div%3E%0D%0A%20%20%3CFORM%20name%3Dformul%20method%3Dpost%3E%0D%0A%20%20%20%20%3CP%20align%3D%22center%22%3E%3Cstrong%3ECrypter%20vos%20messages%3C/strong%3E%3C/P%3E%0D%0A%20%20%20%20%3CP%20align%3D%22center%22%3E%3CFONT%20face%3D%22Verdana%2C%20Arial%2C%20Helvetica%2C%20sans-serif%22%20size%3D2%3ETexte%20%0D%0A%20%20%20%20%20%20%E0%20%3Cstrong%3EC%3C/strong%3Erypter/%3Cstrong%3ED%3C/strong%3E%E9crypter%20%3A%3CBR%3E%0D%0A%20%20%20%20%20%20%3CTEXTAREA%20name%3Ddonnees%20rows%3D%2215%22%20%20wrap%3DVIRTUAL%20cols%3D%2260%22%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%3C/TEXTAREA%3E%0D%0A%20%20%20%20%20%20%3CBR%3E%0D%0A%20%20%20%20%20%20Phrase%20de%20%3Cstrong%3EC%3C/strong%3Eryptage/%3Cstrong%3ED%3C/strong%3E%E9cryptage%20%3A%20%0D%0A%20%20%20%20%20%20%3CINPUT%20type%3D%22password%22%20name%3D%22passe%22%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%0D%0A%20%20%20%20%20%20%3CBR%3E%0D%0A%20%20%20%20%20%20%3CINPUT%20onclick%3D%22document.formul.donnees.value%20%3D%20crypt_text%28document.formul.donnees.value%2Cdocument.formul.passe.value%29%3Breturn%20false%3B%22%20type%3Dsubmit%20value%3DCrypter%20name%3Dsubmit%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%0D%0A%20%20%20%20%20%20%3CINPUT%20onclick%3D%22document.formul.donnees.value%20%3D%20decrypt_text%28document.formul.donnees.value%2Cdocument.formul.passe.value%29%3Breturn%20false%3B%22%20type%3Dsubmit%20value%3DD%E9crypter%20name%3Dsubmit2%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%0D%0A%20%20%20%20%20%20%3C/FONT%3E%3C/P%3E%0D%0A%20%20%20%20%3CP%3E%26nbsp%3B%3C/P%3E%0D%0A%20%20%3C/FORM%3E%0D%0A%20%20%3Cp%3E%3Cstrong%3EF.A.Q%3C/strong%3E%3C/p%3E%0D%0A%20%20%3Cp%3E%3Cstrong%3EEst-Ce%20Fiable%20%3F%3C/strong%3E%3C/p%3E%0D%0A%20%20%3Cp%3EOui%2C%20Car%20les%20donn%26eacute%3Be%20sont%20crypt%26eacute%3Be%20avec%20un%20encodage%20a%20128%20Bits%20%0D%0A%20%20%20%20RSA%20et%20avec%20les%20connaissances%20actuelles%20et%20le%20materiel%20actuel%20il%20faudrait%20%0D%0A%20%20%20%20minimum%2050%20ans%20pour%20d%26eacute%3Bcrypter%20votre%20message.%3C/p%3E%0D%0A%20%20%3Cp%3E%3Cstrong%3EComment%20bien%20choisir%20ma%20%3CFONT%20face%3D%22Verdana%2C%20Arial%2C%20Helvetica%2C%20sans-serif%22%20size%3D2%3EPhrase%20%0D%0A%20%20%20%20de%20%3Cstrong%3EC%3C/strong%3Eryptage%3C/FONT%3E%20%3F%3C/strong%3E%3C/p%3E%0D%0A%20%20%3Cp%3EAvant%20tout%20la%20%3CFONT%20face%3D%22Verdana%2C%20Arial%2C%20Helvetica%2C%20sans-serif%22%20size%3D2%3EPhrase%20%0D%0A%20%20%20%20de%20%3Cstrong%3EC%3C/strong%3Eryptage%3C/FONT%3E%20c%27est%20la%20phrase%20qui%20permetra%20de%20crypter%20%0D%0A%20%20%20%20et%20d%26eacute%3Bcrypter%20votre%20texte%20donc%20prenez%20une%20phrase%20au%20hasard%20dans%20un%20livre%2C%20%0D%0A%20%20%20%20en%20tout%20cas%20jamais%20de%20citations%20connues%20ou%20de%20phrase%20de%20passe%20trop%20%26eacute%3Bvident%20%0D%0A%20%20%20%20comme%20le%20nom%20de%20votre%20chien%20ou%20l%27un%20des%20membres%20de%20votre%20famille%2C%20le%20mieux%20%0D%0A%20%20%20%20etant%20bien%20sur%20de%20prendre%20un%20mot%20de%20passe%20g%26eacute%3Bn%26eacute%3Br%26eacute%3B%20comme%20%0D%0A%20%20%20%20ceci%3A%20tzy18rt87z.%3C/p%3E%0D%0A%20%20%3Cp%3E%26nbsp%3B%3C/p%3E%0D%0A%3C/DIV%3E%0D%0A%3C/BODY%3E%3C/HTML%3E%0D%0A"));
//-->
</script>


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • Rapid'Cryptage.htaTélécharger ce fichier [Réservé aux membres club]25 603 octets

Télécharger le zip


 Sources du même auteur

POPUP EN DIALOGUE DE PAGE WEB - NON DÉTECTABLE PAR LES ANTI-...

 Sources de la même categorie

Source avec Zip Source avec une capture TELECHARGEMENT SANS RECHARGER LA PAGE par zulrigh
AUTOMATION EXCEL PAR JAVASCRIPT par Cpustack
REMPLACER LE INNERTEXT/TEXTCONTENT SANS SUPPRIMER LES BALISE... par jdmcreator
HTML_ENTITIES_DECODE par zen69
ACCÈS À LA MÉTHODE SETATTRIBUTE('STYLE','') SOUS IE6 par masternico

Commentaires et avis

Commentaire de LocalStone le 01/02/2004 17:09:53

10/10 parce que ça marche bien, y a pas l'air d'avoir de bug. Par contre, il y a un énorme problème ... Comment ça marche ? Y a pas de commentaire ... et ta source revient à l'écriture d'un script JavaScript dans ta page, donc pas moyen - à moins de se faire chier - d'avoir la source pour crypter et ainsi l'étudier.

Commentaire de Gorrk le 01/02/2004 17:43:37

Arretez de crypter vos scripts :
&lt;script language=JavaScript&gt;
self.moveTo(0,0);
self.resizeTo(screen.width/1.95,screen.height/1.5);
&lt;/script&gt;
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;
&lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt;Crypter vos messages&lt;/TITLE&gt;
&lt;META http-equiv=Content-Type content="text/html; charset=iso-8859-1"&gt;
&lt;body bgcolor="#F4F6F2" oncontextmenu="return false"&gt;
&lt;META content="MSHTML 6.00.2800.1276" name=GENERATOR&gt;&lt;/HEAD&gt;
&lt;BODY bgcolor="#F4F6F2"&gt;
&lt;DIV class=contentbox&gt;
  &lt;div align="center"&gt;
    &lt;SCRIPT&gt;
/*
* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
* Digest Algorithm, as defined in RFC 1321.
* Copyright (C) Paul Johnston 1999 - 2000.
* Updated by Greg Holt 2000 - 2001.
* Updated by Michel Chilowicz &lt;michel@netastuces.org&gt; (2000-2002)
* Under GPL License


*/ /*
* Convert a 32-bit number to a hex string with ls-byte first
*/
var hex_chr = "0123456789abcdef";

function rhex(num)
{
  str = "";
  for(j = 0; j &lt;= 3; j++)
    str += hex_chr.charAt((num &gt;&gt; (j * 8 + 4)) & 0x0F) +
           hex_chr.charAt((num &gt;&gt; (j * 8)) & 0x0F);
  return str;
}

function int32toarray(int32)
{
  data = new Array();
  j=0;
  for (i=0;i&lt;int32.length;i++)
  {
    for (k=0;k&lt;4;k++) data[j++] = (int32[i]&gt;&gt;(8*k))&255;
  }
  return data;
}
    

/*
* Convert a string to a sequence of 16-word blocks, stored as an array.
* Append padding bits and the length, as described in the MD5 standard.
*/
function str2blks_MD5(str,type)
{
  nblk = ((str.length + 8) &gt;&gt; 6) + 1;
  blks = new Array(nblk * 16);
  for(i = 0; i &lt; nblk * 16; i++) blks[i] = 0;
  if (type == 0)
  {
    for(i = 0; i &lt; str.length; i++) blks[i &gt;&gt; 2] |= str[i] &lt;&lt; ((i % 4) * 8);
  } else
  {
    for(i = 0; i &lt; str.length; i++) blks[i &gt;&gt; 2] |= str.charCodeAt(i) &lt;&lt; ((i % 4) * 8);
  }
  blks[i &gt;&gt; 2] |= 0x80 &lt;&lt; ((i % 4) * 8);
  blks[nblk * 16 - 2] = str.length * 8;
  return blks;
} /*
* Add integers, wrapping at 2^32. This uses 16-bit operations internally
* to work around bugs in some JS interpreters.
*/
function add(x, y)
{
  var lsw = (x & 0xFFFF) + (y & 0xFFFF);
  var msw = (x &gt;&gt; 16) + (y &gt;&gt; 16) + (lsw &gt;&gt; 16);
  return (msw &lt;&lt; 16) | (lsw & 0xFFFF);
} /*
* Bitwise rotate a 32-bit number to the left
*/
function rol(num, cnt)
{
  return (num &lt;&lt; cnt) | (num &gt;&gt;&gt; (32 - cnt));
} /*
* These functions implement the basic operation for each round of the
* algorithm.
*/
function cmn(q, a, b, x, s, t)
{
  return add(rol(add(add(a, q), add(x, t)), s), b);
}
function ff(a, b, c, d, x, s, t)
{
  return cmn((b & c) | ((~b) & d), a, b, x, s, t);
}
function gg(a, b, c, d, x, s, t)
{
  return cmn((b & d) | (c & (~d)), a, b, x, s, t);
}
function hh(a, b, c, d, x, s, t)
{
  return cmn(b ^ c ^ d, a, b, x, s, t);
}
function ii(a, b, c, d, x, s, t)
{
  return cmn(c ^ (b | (~d)), a, b, x, s, t);
} /*
* Take a string and return the hex representation of its MD5.
*/



function calcmd5(str,type)
{
  //Modified by MC
  x = str2blks_MD5(str,type);
  a =  1732584193;
  b = -271733879;
  c = -1732584194;
  d =  271733878;   for(i = 0; i &lt; x.length; i += 16)
  {
    olda = a;
    oldb = b;
    oldc = c;
    oldd = d;     a = ff(a, b, c, d, x[i+ 0], 7 , -680876936);
    d = ff(d, a, b, c, x[i+ 1], 12, -389564586);
    c = ff(c, d, a, b, x[i+ 2], 17,  606105819);
    b = ff(b, c, d, a, x[i+ 3], 22, -1044525330);
    a = ff(a, b, c, d, x[i+ 4], 7 , -176418897);
    d = ff(d, a, b, c, x[i+ 5], 12,  1200080426);
    c = ff(c, d, a, b, x[i+ 6], 17, -1473231341);
    b = ff(b, c, d, a, x[i+ 7], 22, -45705983);
    a = ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);
    d = ff(d, a, b, c, x[i+ 9], 12, -1958414417);
    c = ff(c, d, a, b, x[i+10], 17, -42063);
    b = ff(b, c, d, a, x[i+11], 22, -1990404162);
    a = ff(a, b, c, d, x[i+12], 7 ,  1804603682);
    d = ff(d, a, b, c, x[i+13], 12, -40341101);
    c = ff(c, d, a, b, x[i+14], 17, -1502002290);
    b = ff(b, c, d, a, x[i+15], 22,  1236535329);        a = gg(a, b, c, d, x[i+ 1], 5 , -165796510);
    d = gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
    c = gg(c, d, a, b, x[i+11], 14,  643717713);
    b = gg(b, c, d, a, x[i+ 0], 20, -373897302);
    a = gg(a, b, c, d, x[i+ 5], 5 , -701558691);
    d = gg(d, a, b, c, x[i+10], 9 ,  38016083);
    c = gg(c, d, a, b, x[i+15], 14, -660478335);
    b = gg(b, c, d, a, x[i+ 4], 20, -405537848);
    a = gg(a, b, c, d, x[i+ 9], 5 ,  568446438);
    d = gg(d, a, b, c, x[i+14], 9 , -1019803690);
    c = gg(c, d, a, b, x[i+ 3], 14, -187363961);
    b = gg(b, c, d, a, x[i+ 8], 20,  1163531501);
    a = gg(a, b, c, d, x[i+13], 5 , -1444681467);
    d = gg(d, a, b, c, x[i+ 2], 9 , -51403784);
    c = gg(c, d, a, b, x[i+ 7], 14,  1735328473);
    b = gg(b, c, d, a, x[i+12], 20, -1926607734);
  
    a = hh(a, b, c, d, x[i+ 5], 4 , -378558);
    d = hh(d, a, b, c, x[i+ 8], 11, -2022574463);
    c = hh(c, d, a, b, x[i+11], 16,  1839030562);
    b = hh(b, c, d, a, x[i+14], 23, -35309556);
    a = hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
    d = hh(d, a, b, c, x[i+ 4], 11,  1272893353);
    c = hh(c, d, a, b, x[i+ 7], 16, -155497632);
    b = hh(b, c, d, a, x[i+10], 23, -1094730640);
    a = hh(a, b, c, d, x[i+13], 4 ,  681279174);
    d = hh(d, a, b, c, x[i+ 0], 11, -358537222);
    c = hh(c, d, a, b, x[i+ 3], 16, -722521979);
    b = hh(b, c, d, a, x[i+ 6], 23,  76029189);
    a = hh(a, b, c, d, x[i+ 9], 4 , -640364487);
    d = hh(d, a, b, c, x[i+12], 11, -421815835);
    c = hh(c, d, a, b, x[i+15], 16,  530742520);
    b = hh(b, c, d, a, x[i+ 2], 23, -995338651);     a = ii(a, b, c, d, x[i+ 0], 6 , -198630844);
    d = ii(d, a, b, c, x[i+ 7], 10,  1126891415);
    c = ii(c, d, a, b, x[i+14], 15, -1416354905);
    b = ii(b, c, d, a, x[i+ 5], 21, -57434055);
    a = ii(a, b, c, d, x[i+12], 6 ,  1700485571);
    d = ii(d, a, b, c, x[i+ 3], 10, -1894986606);
    c = ii(c, d, a, b, x[i+10], 15, -1051523);
    b = ii(b, c, d, a, x[i+ 1], 21, -2054922799);
    a = ii(a, b, c, d, x[i+ 8], 6 ,  1873313359);
    d = ii(d, a, b, c, x[i+15], 10, -30611744);
    c = ii(c, d, a, b, x[i+ 6], 15, -1560198380);
    b = ii(b, c, d, a, x[i+13], 21,  1309151649);
    a = ii(a, b, c, d, x[i+ 4], 6 , -145523070);
    d = ii(d, a, b, c, x[i+11], 10, -1120210379);
    c = ii(c, d, a, b, x[i+ 2], 15,  718787259);
    b = ii(b, c, d, a, x[i+ 9], 21, -343485551);     a = add(a, olda);
    b = add(b, oldb);
    c = add(c, oldc);
    d = add(d, oldd);
  }
  //return rhex(a) + rhex(b) + rhex(c) + rhex(d);
  int32 = new Array(a,b,c,d);
  return int32toarray(int32);
}
&lt;/SCRIPT&gt;
    &lt;SCRIPT&gt;
//Javascryptor by Michel Chilowicz &lt;michel@netastuces.org&gt;
//Under GNU-GPL Licence (cf http://www.gnu.org)

values64 = new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O",
"P","Q","R","S","T","U","V","W","X","Y","Z",
"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o",
"p","q","r","s","t","u","v","w","x","y","z",
"0","1","2","3","4","5","6","7","8","9","+","/");

function base64_encode(tab)
{
  var resultat ="";
  for (i=0;i&lt;tab.length+1;i+=3)
  {
    if (tab.length &lt; (i+1)) //==i
    {
      return resultat;
    } else if (tab.length == (i+1))
    {
      resultat+=values64[tab[i] &gt;&gt; 2]+values64[(tab[i] &lt;&lt; 4)&48]+"==";
      return resultat;
    } else if (tab.length == (i+2))
    {
      resultat+=values64[tab[i] &gt;&gt; 2]+values64[((tab[i] &lt;&lt; 4)&48) | (tab[i+1] &gt;&gt; 4)]+values64[(tab[i+1] &lt;&lt; 2)&60]+"=";
      return resultat;
    } else
    {
      resultat+=values64[tab[i] &gt;&gt; 2]+values64[((tab[i] &lt;&lt; 4)&48) | (tab[i+1] &gt;&gt; 4)]+values64[((tab[i+1] &lt;&lt; 2)&60) | (tab[i+2] &gt;&gt;6)]+values64[tab[i+2]&63];
    }
  }
}

function base64_filter(text)
{
  var resultat = "";
  for (i=0;i&lt;text.length;i++)
  {
    var ordinal = text.charCodeAt(i);
    if (((ordinal&gt;47) && (ordinal&lt;58)) || ((ordinal&gt;64) && (ordinal&lt;91)) || ((ordinal&gt;96) && (ordinal&lt;123)) || (ordinal==43) || (ordinal==47) || (ordinal==61))
    {
      resultat+=text.substr(i,1);
    }
  }
  return resultat;
}

function let2num(let)
{
  var ordinal = let;
  if ((ordinal&gt;47) && (ordinal&lt;58)) return (ordinal +4);
  if ((ordinal&gt;64) && (ordinal&lt;91)) return (ordinal-65);
  if ((ordinal&gt;96) && (ordinal&lt;123)) return (ordinal-71);
  if (ordinal==43) return 62;
  if (ordinal==47) return 63;
  if (ordinal==61) return -1;
  return -1;
}


function base64_decode(text)
{
  var j=0;
  data = new Array();
  text = base64_filter(text);
  for (i=0;i&lt;text.length;i+=4)
  {
    var car0 = let2num(text.charCodeAt(i));
    var car1 = let2num(text.charCodeAt(i+1));
    var car2 = let2num(text.charCodeAt(i+2));
    var car3 = let2num(text.charCodeAt(i+3));
    if ((car0 &gt; -1) && (car1&gt;-1)) data[j++] = (car0 &lt;&lt; 2) | (car1 &gt;&gt; 4);
    if ((car1 &gt; -1) && (car2&gt;-1)) data[j++] = ((car1 & 15) &lt;&lt; 4) | (car2 &gt;&gt; 2);
    if ((car2 &gt; -1) && (car3&gt;-1)) data[j++] = ((car2 & 3) &lt;&lt; 6) | (car3);
  }
  return data;
}

function encode_text(text)
{
  var data = new Array();
  for (i=0;i&lt;text.length;i++) data[i] = text.charCodeAt(i);
  return base64_encode(data);
}

function decode_text(text)
{
  var data = new Array();
  var resultat = '';
  data = base64_decode(text);
  for (i=0;i&lt;data.length;i++) resultat+=String.fromCharCode(data[i]);
  return resultat;
}

function mc4(data,key)
{
  var tab1 = new Array();
  var tab2 = new Array();
  var resultat = new Array();
  for (i=0;i&lt;256;i++)
  {
    tab1[i] = i;
    tab2[i] = key[i%(key.length)];
  }
  var j=0;
  for (var i=0;i&lt;256;i++)
  {
    j= (j+ tab1[i] + tab2[j])%256;
    var temp = tab1[i];
    tab1[i] = tab1[j];
    tab1[j] = temp;
  }
  i=0;j=0;
  for (var k=0;k&lt;data.length;k++)
  {
    i = (i+1)%256;
    j = (j+tab1[i])%256;
    var temp = tab1[i];
    tab1[i] = tab1[j];
    tab1[j] = temp;
    resultat[k] = data[k] ^ tab1[(tab1[i] + tab1[j])%256];
  }
  return resultat;
}

function octet_alea()
{
  return (Math.floor(Math.random()*256));
}

function crypt_text(text,password)
{
  var data = new Array();
  var key = new Array();
  var hash = new Array();
  
  //data[0] = 19;data[1] = 29;
  //key[0] = 17;key[1] = 25;
  //data = mc4(data,key);
  //data = mc4(data,key);
  //alert(data[1]);
  
  for (var i=0;i&lt;8;i++)
  {
    data[i] = 0;
    key[i] = octet_alea();
  }
  for (var j=0;j&lt;text.length;j++) data[i+j] = text.charCodeAt(j);
  for (var j=0;j&lt;password.length;j++) key[i+j] = password.charCodeAt(j);
  hash = calcmd5(key,0);
  data = mc4(data,hash);
  for (var i=0;i&lt;8;i++) data[i] = key[i];
  resultat = base64_encode(data);
  return resultat;
}

function decrypt_text(text,password)
{
  var data = new Array();
  var key = new Array();
  var hash = new Array();
  data = base64_decode(text);
  for (i=0;i&lt;8;i++)
  {
    key[i] = data[i];
  }
  //data = data.slice(8,data.length);
  for (j=0;j&lt;password.length;j++) key[i+j] = password.charCodeAt(j);
  hash = calcmd5(key,0);
  data = mc4(data,hash);
  var resultat = "";
  for (i=8;i&lt;data.length;i++) resultat+=String.fromCharCode(data[i]);
  return resultat;
}
&lt;/SCRIPT&gt;
  &lt;iframe src="http://site.voila.fr/1euro/pub.html" width="468" height="60" scrolling="no" frameborder="0"&gt;&lt;/iframe&gt; &lt;/div&gt;
  &lt;FORM name=formul method=post&gt;
    &lt;P align="center"&gt;&lt;strong&gt;Crypter vos messages&lt;/strong&gt;&lt;/P&gt;
    &lt;P align="center"&gt;&lt;FONT face="Verdana, Arial, Helvetica, sans-serif" size=2&gt;Texte
      à &lt;strong&gt;C&lt;/strong&gt;rypter/&lt;strong&gt;D&lt;/strong&gt;écrypter :&lt;BR&gt;
      &lt;TEXTAREA name=donnees rows="15"  wrap=VIRTUAL cols="60" style="background-color: #D7D7D7; color: Black;
font-family: Verdana; font-size: 11px; border: 1 solid black""&gt;&lt;/TEXTAREA&gt;
      &lt;BR&gt;
      Phrase de &lt;strong&gt;C&lt;/strong&gt;ryptage/&lt;strong&gt;D&lt;/strong&gt;écryptage :
      &lt;INPUT type="password" name="passe" style="background-color: #D7D7D7; color: Black;
font-family: Verdana; font-size: 11px; border: 1 solid black""&gt;
      &lt;BR&gt;
      &lt;INPUT onclick="document.formul.donnees.value = crypt_text(document.formul.donnees.value,document.formul.passe.value);return false;" type=submit value=Crypter name=submit style="background-color: #D7D7D7; color: Black;
font-family: Verdana; font-size: 11px; border: 1 solid black""&gt;
      &lt;INPUT onclick="document.formul.donnees.value = decrypt_text(document.formul.donnees.value,document.formul.passe.value);return false;" type=submit value=Décrypter name=submit2 style="background-color: #D7D7D7; color: Black;
font-family: Verdana; font-size: 11px; border: 1 solid black""&gt;
      &lt;/FONT&gt;&lt;/P&gt;
    &lt;P&gt;&nbsp;&lt;/P&gt;
  &lt;/FORM&gt;
  &lt;p&gt;&lt;strong&gt;F.A.Q&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Est-Ce Fiable ?&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Oui, Car les donn&eacute;e sont crypt&eacute;e avec un encodage a 128 Bits
    RSA et avec les connaissances actuelles et le materiel actuel il faudrait
    minimum 50 ans pour d&eacute;crypter votre message.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Comment bien choisir ma &lt;FONT face="Verdana, Arial, Helvetica, sans-serif" size=2&gt;Phrase
    de &lt;strong&gt;C&lt;/strong&gt;ryptage&lt;/FONT&gt; ?&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Avant tout la &lt;FONT face="Verdana, Arial, Helvetica, sans-serif" size=2&gt;Phrase
    de &lt;strong&gt;C&lt;/strong&gt;ryptage&lt;/FONT&gt; c'est la phrase qui permetra de crypter
    et d&eacute;crypter votre texte donc prenez une phrase au hasard dans un livre,
    en tout cas jamais de citations connues ou de phrase de passe trop &eacute;vident
    comme le nom de votre chien ou l'un des membres de votre famille, le mieux
    etant bien sur de prendre un mot de passe g&eacute;n&eacute;r&eacute; comme
    ceci: tzy18rt87z.&lt;/p&gt;
  &lt;p&gt;&nbsp;&lt;/p&gt;
&lt;/DIV&gt;
&lt;/BODY&gt;&lt;/HTML&gt;

C'est de toi?
Pourquoi y a une pub ?

Commentaire de juki_webmaster le 02/02/2004 09:53:59

Sa ne semble pas etre de lui ,enfin c'est mon avis .
Faudrait le preciser dans vos sources !
Sinon genial ce systeme !
note pour le vrai auteur de cette source : 10/10 !

Commentaire de jeff_the_lifeguard le 05/02/2004 21:05:19

Moi ya rien qui marche ;(

Commentaire de Jsman le 06/02/2004 22:12:04

Impressionant.... 12/10

Au fait, c'est quoi le principe de cryptage ?

Merci à gorrk en passant

Commentaire de Celelibi le 09/02/2004 01:27:50

ce cryptage, c'est du md5, le truc qui existe depuis la nuit des temps.
il n'a rien inventé, et surtout pas ce script que j'ai étudié il y a un moment déjà.
donc bravo Michel Chilowicz pour ce script.

Commentaire de neo1502 le 13/02/2004 08:32:30

et est ce vrai ke c'est fiable a 100%???

Commentaire de Celelibi le 26/02/2004 16:48:00

en fait il semblerait qu'il soit possible de générer un mot qui aurait pour cible un hash déterminé.

le md5 est basé sur la théorie du chaos (cf google) on a bien des point periodiques dense (les fonctions ff, gg, hh, ii), elle est extrêmement sensible aux consitions initiales (changer nue seul lettre change complètement le hash final sans moyen de le prévoir), et elle est censée être imprévisible, c'est à dire qu'on ne devrait pas pouvoir deviner le hash produit sans reftracer totalement l'algorithme.

c'est ce dernier point qui semble ne pas être respecté, mais de là à ce que le md5 soit réversible on a encore le temps.

Commentaire de aresh le 08/03/2004 02:26:39

C'est totalement génial comme systéme.

J'espére m'en servir bientôt sur mon site de jdr pour faire des message crypté entre les membres.

Commentaire de aresh le 08/03/2004 02:27:37

C'est totalement génial comme systéme.

J'espére m'en servir bientôt sur mon site de jdr pour faire des message crypté entre les membres.

Commentaire de Celelibi le 08/03/2004 22:49:29

tu aura du mal à faire passer quelque message que ce soit vu qu'il n'est pas prévu pour être décrypté, d'ailleur ce que tu obtient c'est pas ton texte crypté, mais une sorte d'emprunte censée être unique à chaque texte différent entré.

Commentaire de tipit le 14/04/2004 23:19:16

quelqu'un peu vraiment maider, car mon problème est, quand je crypte, puis que je visualise, ca merde on voit juste le cryptage, pas ma page. Il a til qqc que je fais de pas correct, estce que je fais une erreur quelque part???


cordialement
djieff

Commentaire de petros le 02/08/2004 05:21:22

Alors la bravo Celelibi pour ton MD5, lit une doc le chiffrement et après on en reparle lol !

juste pour info, ya  pas de codage, le %"valeur" c'est le code ascii en Hexa.

par exemple %20 c'est le caratère espace, codage utilisé dans les adresse a une epoque pour exploité des faille dans les script CGI.


Commentaire de coucou747 le 19/02/2005 12:46:45

c'est marqué RSA et MD5 et en meme temps MD5 128 c'est con, alors que RSA 128 c'est un minimum...

mais ça ça ressemble pas à du RSA c'est pas de la cryyptographie, c'est du hashage, et c'est pas du 128 bits car j'ai pas vu les fonctions qui permetent de le faire ici (j'ai bien vu un exposant mudolu, mais c tt) et si c'est vraiment du RSA+MD5, c'est vraiment crade, et si en plus t'es en 128 bits, alors c'est encore plus crade, et y a rien de compréhensible...

t'as volé une source !!

1/10

Commentaire de fatahfr le 24/03/2005 11:40:14



""t'as volé une source !!""

des sites qui le propose y en a mille des crypteur moi-meme qui a fait pont et chausseé je me permet meme pas de l insulter
toi tes un jaloux trouve alors ce systeme moi je te prent au mot essaye de le decrypter tu te permet de l insulter de voleur tu parles de choses tu sais meme ce que tu dis tu parles de hachage ou vois  tu du hachage

pour info % c est bien du cryptage elaborer par les studio macromedia
tu devrai mieux t instruire avant de parler ou d insulter les gars qui partage leur travail

n essaye de le decryter tu auras un message d erreur

Commentaire de fatahfr le 24/03/2005 11:52:40

voila la source sans la pub pour celui qui le veut

<script>
<!--
document.write(unescape("%3Cscript%20language%3DJavaScript%3E%0D%0Aself.moveTo%280%2C0%29%3B%0D%0Aself.resizeTo%28screen.width/1.95%2Cscreen.height/1.5%29%3B%0D%0A%3C/script%3E%0D%0A%3C%21DOCTYPE%20HTML%20PUBLIC%20%22-//W3C//DTD%20HTML%204.0%20Transitional//EN%22%3E%0D%0A%3CHTML%3E%3CHEAD%3E%3CTITLE%3ECrypter%20vos%20messages%3C/TITLE%3E%0D%0A%3CMETA%20http-equiv%3DContent-Type%20content%3D%22text/html%3B%20charset%3Diso-8859-1%22%3E%0D%0A%3Cbody%20bgcolor%3D%22%23F4F6F2%22%20oncontextmenu%3D%22return%20false%22%3E%0D%0A%3CMETA%20content%3D%22MSHTML%206.00.2800.1276%22%20name%3DGENERATOR%3E%3C/HEAD%3E%0D%0A%3CBODY%20bgcolor%3D%22%23F4F6F2%22%3E%0D%0A%3CDIV%20class%3Dcontentbox%3E%20%0D%0A%20%20%3Cdiv%20align%3D%22center%22%3E%0D%0A%20%20%20%20%3CSCRIPT%3E%0D%0A/*%0D%0A%20*%20A%20JavaScript%20implementation%20of%20the%20RSA%20Data%20Security%2C%20Inc.%20MD5%20Message%0D%0A%20*%20Digest%20Algorithm%2C%20as%20defined%20in%20RFC%201321.%0D%0A%20*%20Copyright%20%28C%29%20Paul%20Johnston%201999%20-%202000.%0D%0A%20*%20Updated%20by%20Greg%20Holt%202000%20-%202001.%0D%0A%20*%20Updated%20by%20Michel%20Chilowicz%20%3Cmichel@netastuces.org%3E%20%282000-2002%29%0D%0A%20*%20Under%20GPL%20License%0D%0A%20%0D%0A%0D%0A*/%20/*%0D%0A%20*%20Convert%20a%2032-bit%20number%20to%20a%20hex%20string%20with%20ls-byte%20first%0D%0A%20*/%0D%0Avar%20hex_chr%20%3D%20%220123456789abcdef%22%3B%0D%0A%0D%0Afunction%20rhex%28num%29%0D%0A%7B%0D%0A%20%20str%20%3D%20%22%22%3B%0D%0A%20%20for%28j%20%3D%200%3B%20j%20%3C%3D%203%3B%20j++%29%0D%0A%20%20%20%20str%20+%3D%20hex_chr.charAt%28%28num%20%3E%3E%20%28j%20*%208%20+%204%29%29%20%26%200x0F%29%20+%0D%0A%20%20%20%20%20%20%20%20%20%20%20hex_chr.charAt%28%28num%20%3E%3E%20%28j%20*%208%29%29%20%26%200x0F%29%3B%0D%0A%20%20return%20str%3B%0D%0A%7D%20%0D%0A%0D%0Afunction%20int32toarray%28int32%29%0D%0A%7B%0D%0A%20%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20j%3D0%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Cint32.length%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20for%20%28k%3D0%3Bk%3C4%3Bk++%29%20data%5Bj++%5D%20%3D%20%28int32%5Bi%5D%3E%3E%288*k%29%29%26255%3B%0D%0A%20%20%7D%0D%0A%20%20return%20data%3B%0D%0A%7D%0D%0A%20%20%20%20%0D%0A%0D%0A/*%0D%0A%20*%20Convert%20a%20string%20to%20a%20sequence%20of%2016-word%20blocks%2C%20stored%20as%20an%20array.%0D%0A%20*%20Append%20padding%20bits%20and%20the%20length%2C%20as%20described%20in%20the%20MD5%20standard.%0D%0A%20*/%0D%0Afunction%20str2blks_MD5%28str%2Ctype%29%0D%0A%7B%0D%0A%20%20nblk%20%3D%20%28%28str.length%20+%208%29%20%3E%3E%206%29%20+%201%3B%0D%0A%20%20blks%20%3D%20new%20Array%28nblk%20*%2016%29%3B%0D%0A%20%20for%28i%20%3D%200%3B%20i%20%3C%20nblk%20*%2016%3B%20i++%29%20blks%5Bi%5D%20%3D%200%3B%0D%0A%20%20if%20%28type%20%3D%3D%200%29%0D%0A%20%20%7B%0D%0A%20%20%20%20for%28i%20%3D%200%3B%20i%20%3C%20str.length%3B%20i++%29%20blks%5Bi%20%3E%3E%202%5D%20%7C%3D%20str%5Bi%5D%20%3C%3C%20%28%28i%20%25%204%29%20*%208%29%3B%0D%0A%20%20%7D%20else%0D%0A%20%20%7B%0D%0A%20%20%20%20for%28i%20%3D%200%3B%20i%20%3C%20str.length%3B%20i++%29%20blks%5Bi%20%3E%3E%202%5D%20%7C%3D%20str.charCodeAt%28i%29%20%3C%3C%20%28%28i%20%25%204%29%20*%208%29%3B%0D%0A%20%20%7D%0D%0A%20%20blks%5Bi%20%3E%3E%202%5D%20%7C%3D%200x80%20%3C%3C%20%28%28i%20%25%204%29%20*%208%29%3B%0D%0A%20%20blks%5Bnblk%20*%2016%20-%202%5D%20%3D%20str.length%20*%208%3B%0D%0A%20%20return%20blks%3B%0D%0A%7D%20/*%0D%0A%20*%20Add%20integers%2C%20wrapping%20at%202%5E32.%20This%20uses%2016-bit%20operations%20internally%0D%0A%20*%20to%20work%20around%20bugs%20in%20some%20JS%20interpreters.%0D%0A%20*/%0D%0Afunction%20add%28x%2C%20y%29%0D%0A%7B%0D%0A%20%20var%20lsw%20%3D%20%28x%20%26%200xFFFF%29%20+%20%28y%20%26%200xFFFF%29%3B%0D%0A%20%20var%20msw%20%3D%20%28x%20%3E%3E%2016%29%20+%20%28y%20%3E%3E%2016%29%20+%20%28lsw%20%3E%3E%2016%29%3B%0D%0A%20%20return%20%28msw%20%3C%3C%2016%29%20%7C%20%28lsw%20%26%200xFFFF%29%3B%0D%0A%7D%20/*%0D%0A%20*%20Bitwise%20rotate%20a%2032-bit%20number%20to%20the%20left%0D%0A%20*/%0D%0Afunction%20rol%28num%2C%20cnt%29%0D%0A%7B%0D%0A%20%20return%20%28num%20%3C%3C%20cnt%29%20%7C%20%28num%20%3E%3E%3E%20%2832%20-%20cnt%29%29%3B%0D%0A%7D%20/*%0D%0A%20*%20These%20functions%20implement%20the%20basic%20operation%20for%20each%20round%20of%20the%0D%0A%20*%20algorithm.%0D%0A%20*/%0D%0Afunction%20cmn%28q%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20add%28rol%28add%28add%28a%2C%20q%29%2C%20add%28x%2C%20t%29%29%2C%20s%29%2C%20b%29%3B%0D%0A%7D%0D%0Afunction%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28%28b%20%26%20c%29%20%7C%20%28%28%7Eb%29%20%26%20d%29%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%0D%0Afunction%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28%28b%20%26%20d%29%20%7C%20%28c%20%26%20%28%7Ed%29%29%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%0D%0Afunction%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28b%20%5E%20c%20%5E%20d%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%0D%0Afunction%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28c%20%5E%20%28b%20%7C%20%28%7Ed%29%29%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%20/*%0D%0A%20*%20Take%20a%20string%20and%20return%20the%20hex%20representation%20of%20its%20MD5.%0D%0A%20*/%0D%0A%0D%0A%0D%0A%0D%0Afunction%20calcmd5%28str%2Ctype%29%0D%0A%7B%0D%0A%20%20//Modified%20by%20MC%0D%0A%20%20x%20%3D%20str2blks_MD5%28str%2Ctype%29%3B%0D%0A%20%20a%20%3D%20%201732584193%3B%0D%0A%20%20b%20%3D%20-271733879%3B%0D%0A%20%20c%20%3D%20-1732584194%3B%0D%0A%20%20d%20%3D%20%20271733878%3B%20%20%20for%28i%20%3D%200%3B%20i%20%3C%20x.length%3B%20i%20+%3D%2016%29%0D%0A%20%20%7B%0D%0A%20%20%20%20olda%20%3D%20a%3B%0D%0A%20%20%20%20oldb%20%3D%20b%3B%0D%0A%20%20%20%20oldc%20%3D%20c%3B%0D%0A%20%20%20%20oldd%20%3D%20d%3B%20%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%200%5D%2C%207%20%2C%20-680876936%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%201%5D%2C%2012%2C%20-389564586%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%202%5D%2C%2017%2C%20%20606105819%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%203%5D%2C%2022%2C%20-1044525330%29%3B%0D%0A%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%204%5D%2C%207%20%2C%20-176418897%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%205%5D%2C%2012%2C%20%201200080426%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%206%5D%2C%2017%2C%20-1473231341%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%207%5D%2C%2022%2C%20-45705983%29%3B%0D%0A%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%208%5D%2C%207%20%2C%20%201770035416%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%209%5D%2C%2012%2C%20-1958414417%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+10%5D%2C%2017%2C%20-42063%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+11%5D%2C%2022%2C%20-1990404162%29%3B%0D%0A%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+12%5D%2C%207%20%2C%20%201804603682%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+13%5D%2C%2012%2C%20-40341101%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+14%5D%2C%2017%2C%20-1502002290%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+15%5D%2C%2022%2C%20%201236535329%29%3B%20%20%20%20%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%201%5D%2C%205%20%2C%20-165796510%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%206%5D%2C%209%20%2C%20-1069501632%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+11%5D%2C%2014%2C%20%20643717713%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%200%5D%2C%2020%2C%20-373897302%29%3B%0D%0A%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%205%5D%2C%205%20%2C%20-701558691%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+10%5D%2C%209%20%2C%20%2038016083%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+15%5D%2C%2014%2C%20-660478335%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%204%5D%2C%2020%2C%20-405537848%29%3B%0D%0A%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%209%5D%2C%205%20%2C%20%20568446438%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+14%5D%2C%209%20%2C%20-1019803690%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%203%5D%2C%2014%2C%20-187363961%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%208%5D%2C%2020%2C%20%201163531501%29%3B%0D%0A%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+13%5D%2C%205%20%2C%20-1444681467%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%202%5D%2C%209%20%2C%20-51403784%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%207%5D%2C%2014%2C%20%201735328473%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+12%5D%2C%2020%2C%20-1926607734%29%3B%0D%0A%20%20%20%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%205%5D%2C%204%20%2C%20-378558%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%208%5D%2C%2011%2C%20-2022574463%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+11%5D%2C%2016%2C%20%201839030562%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+14%5D%2C%2023%2C%20-35309556%29%3B%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%201%5D%2C%204%20%2C%20-1530992060%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%204%5D%2C%2011%2C%20%201272893353%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%207%5D%2C%2016%2C%20-155497632%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+10%5D%2C%2023%2C%20-1094730640%29%3B%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+13%5D%2C%204%20%2C%20%20681279174%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%200%5D%2C%2011%2C%20-358537222%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%203%5D%2C%2016%2C%20-722521979%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%206%5D%2C%2023%2C%20%2076029189%29%3B%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%209%5D%2C%204%20%2C%20-640364487%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+12%5D%2C%2011%2C%20-421815835%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+15%5D%2C%2016%2C%20%20530742520%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%202%5D%2C%2023%2C%20-995338651%29%3B%20%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%200%5D%2C%206%20%2C%20-198630844%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%207%5D%2C%2010%2C%20%201126891415%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+14%5D%2C%2015%2C%20-1416354905%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%205%5D%2C%2021%2C%20-57434055%29%3B%0D%0A%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+12%5D%2C%206%20%2C%20%201700485571%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%203%5D%2C%2010%2C%20-1894986606%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+10%5D%2C%2015%2C%20-1051523%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%201%5D%2C%2021%2C%20-2054922799%29%3B%0D%0A%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%208%5D%2C%206%20%2C%20%201873313359%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+15%5D%2C%2010%2C%20-30611744%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%206%5D%2C%2015%2C%20-1560198380%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+13%5D%2C%2021%2C%20%201309151649%29%3B%0D%0A%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%204%5D%2C%206%20%2C%20-145523070%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+11%5D%2C%2010%2C%20-1120210379%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%202%5D%2C%2015%2C%20%20718787259%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%209%5D%2C%2021%2C%20-343485551%29%3B%20%20%20%20%20a%20%3D%20add%28a%2C%20olda%29%3B%0D%0A%20%20%20%20b%20%3D%20add%28b%2C%20oldb%29%3B%0D%0A%20%20%20%20c%20%3D%20add%28c%2C%20oldc%29%3B%0D%0A%20%20%20%20d%20%3D%20add%28d%2C%20oldd%29%3B%0D%0A%20%20%7D%0D%0A%20%20//return%20rhex%28a%29%20+%20rhex%28b%29%20+%20rhex%28c%29%20+%20rhex%28d%29%3B%0D%0A%20%20int32%20%3D%20new%20Array%28a%2Cb%2Cc%2Cd%29%3B%0D%0A%20%20return%20int32toarray%28int32%29%3B%0D%0A%7D%0D%0A%3C/SCRIPT%3E%0D%0A%20%20%20%20%3CSCRIPT%3E%0D%0A//Javascryptor%20by%20Michel%20Chilowicz%20%3Cmichel@netastuces.org%3E%0D%0A//Under%20GNU-GPL%20Licence%20%28cf%20http%3A//www.gnu.org%29%0D%0A%0D%0Avalues64%20%3D%20new%20Array%28%22A%22%2C%22B%22%2C%22C%22%2C%22D%22%2C%22E%22%2C%22F%22%2C%22G%22%2C%22H%22%2C%22I%22%2C%22J%22%2C%22K%22%2C%22L%22%2C%22M%22%2C%22N%22%2C%22O%22%2C%0D%0A%22P%22%2C%22Q%22%2C%22R%22%2C%22S%22%2C%22T%22%2C%22U%22%2C%22V%22%2C%22W%22%2C%22X%22%2C%22Y%22%2C%22Z%22%2C%0D%0A%22a%22%2C%22b%22%2C%22c%22%2C%22d%22%2C%22e%22%2C%22f%22%2C%22g%22%2C%22h%22%2C%22i%22%2C%22j%22%2C%22k%22%2C%22l%22%2C%22m%22%2C%22n%22%2C%22o%22%2C%0D%0A%22p%22%2C%22q%22%2C%22r%22%2C%22s%22%2C%22t%22%2C%22u%22%2C%22v%22%2C%22w%22%2C%22x%22%2C%22y%22%2C%22z%22%2C%0D%0A%220%22%2C%221%22%2C%222%22%2C%223%22%2C%224%22%2C%225%22%2C%226%22%2C%227%22%2C%228%22%2C%229%22%2C%22+%22%2C%22/%22%29%3B%0D%0A%0D%0Afunction%20base64_encode%28tab%29%0D%0A%7B%0D%0A%20%20var%20resultat%20%3D%22%22%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctab.length+1%3Bi+%3D3%29%0D%0A%20%20%7B%0D%0A%20%20%20%20if%20%28tab.length%20%3C%20%28i+1%29%29%20//%3D%3Di%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20return%20resultat%3B%0D%0A%20%20%20%20%7D%20else%20if%20%28tab.length%20%3D%3D%20%28i+1%29%29%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dvalues64%5Btab%5Bi%5D%20%3E%3E%202%5D+values64%5B%28tab%5Bi%5D%20%3C%3C%204%29%2648%5D+%22%3D%3D%22%3B%0D%0A%20%20%20%20%20%20return%20resultat%3B%0D%0A%20%20%20%20%7D%20else%20if%20%28tab.length%20%3D%3D%20%28i+2%29%29%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dvalues64%5Btab%5Bi%5D%20%3E%3E%202%5D+values64%5B%28%28tab%5Bi%5D%20%3C%3C%204%29%2648%29%20%7C%20%28tab%5Bi+1%5D%20%3E%3E%204%29%5D+values64%5B%28tab%5Bi+1%5D%20%3C%3C%202%29%2660%5D+%22%3D%22%3B%0D%0A%20%20%20%20%20%20return%20resultat%3B%0D%0A%20%20%20%20%7D%20else%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dvalues64%5Btab%5Bi%5D%20%3E%3E%202%5D+values64%5B%28%28tab%5Bi%5D%20%3C%3C%204%29%2648%29%20%7C%20%28tab%5Bi+1%5D%20%3E%3E%204%29%5D+values64%5B%28%28tab%5Bi+1%5D%20%3C%3C%202%29%2660%29%20%7C%20%28tab%5Bi+2%5D%20%3E%3E6%29%5D+values64%5Btab%5Bi+2%5D%2663%5D%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%7D%0D%0A%7D%0D%0A%0D%0Afunction%20base64_filter%28text%29%0D%0A%7B%0D%0A%20%20var%20resultat%20%3D%20%22%22%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctext.length%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20var%20ordinal%20%3D%20text.charCodeAt%28i%29%3B%0D%0A%20%20%20%20if%20%28%28%28ordinal%3E47%29%20%26%26%20%28ordinal%3C58%29%29%20%7C%7C%20%28%28ordinal%3E64%29%20%26%26%20%28ordinal%3C91%29%29%20%7C%7C%20%28%28ordinal%3E96%29%20%26%26%20%28ordinal%3C123%29%29%20%7C%7C%20%28ordinal%3D%3D43%29%20%7C%7C%20%28ordinal%3D%3D47%29%20%7C%7C%20%28ordinal%3D%3D61%29%29%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dtext.substr%28i%2C1%29%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%7D%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20let2num%28let%29%0D%0A%7B%0D%0A%20%20var%20ordinal%20%3D%20let%3B%0D%0A%20%20if%20%28%28ordinal%3E47%29%20%26%26%20%28ordinal%3C58%29%29%20return%20%28ordinal%20+4%29%3B%0D%0A%20%20if%20%28%28ordinal%3E64%29%20%26%26%20%28ordinal%3C91%29%29%20return%20%28ordinal-65%29%3B%0D%0A%20%20if%20%28%28ordinal%3E96%29%20%26%26%20%28ordinal%3C123%29%29%20return%20%28ordinal-71%29%3B%0D%0A%20%20if%20%28ordinal%3D%3D43%29%20return%2062%3B%0D%0A%20%20if%20%28ordinal%3D%3D47%29%20return%2063%3B%0D%0A%20%20if%20%28ordinal%3D%3D61%29%20return%20-1%3B%0D%0A%20%20return%20-1%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Afunction%20base64_decode%28text%29%0D%0A%7B%0D%0A%20%20var%20j%3D0%3B%0D%0A%20%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20text%20%3D%20base64_filter%28text%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctext.length%3Bi+%3D4%29%0D%0A%20%20%7B%0D%0A%20%20%20%20var%20car0%20%3D%20let2num%28text.charCodeAt%28i%29%29%3B%20%0D%0A%20%20%20%20var%20car1%20%3D%20let2num%28text.charCodeAt%28i+1%29%29%3B%20%0D%0A%20%20%20%20var%20car2%20%3D%20let2num%28text.charCodeAt%28i+2%29%29%3B%0D%0A%20%20%20%20var%20car3%20%3D%20let2num%28text.charCodeAt%28i+3%29%29%3B%0D%0A%20%20%20%20if%20%28%28car0%20%3E%20-1%29%20%26%26%20%28car1%3E-1%29%29%20data%5Bj++%5D%20%3D%20%28car0%20%3C%3C%202%29%20%7C%20%28car1%20%3E%3E%204%29%3B%0D%0A%20%20%20%20if%20%28%28car1%20%3E%20-1%29%20%26%26%20%28car2%3E-1%29%29%20data%5Bj++%5D%20%3D%20%28%28car1%20%26%2015%29%20%3C%3C%204%29%20%7C%20%28car2%20%3E%3E%202%29%3B%0D%0A%20%20%20%20if%20%28%28car2%20%3E%20-1%29%20%26%26%20%28car3%3E-1%29%29%20data%5Bj++%5D%20%3D%20%28%28car2%20%26%203%29%20%3C%3C%206%29%20%7C%20%28car3%29%3B%0D%0A%20%20%7D%0D%0A%20%20return%20data%3B%0D%0A%7D%0D%0A%0D%0Afunction%20encode_text%28text%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctext.length%3Bi++%29%20data%5Bi%5D%20%3D%20text.charCodeAt%28i%29%3B%0D%0A%20%20return%20base64_encode%28data%29%3B%0D%0A%7D%0D%0A%0D%0Afunction%20decode_text%28text%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20resultat%20%3D%20%27%27%3B%0D%0A%20%20data%20%3D%20base64_decode%28text%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Cdata.length%3Bi++%29%20resultat+%3DString.fromCharCode%28data%5Bi%5D%29%3B%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20mc4%28data%2Ckey%29%0D%0A%7B%0D%0A%20%20var%20tab1%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20tab2%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20resultat%20%3D%20new%20Array%28%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3C256%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20tab1%5Bi%5D%20%3D%20i%3B%0D%0A%20%20%20%20tab2%5Bi%5D%20%3D%20key%5Bi%25%28key.length%29%5D%3B%0D%0A%20%20%7D%0D%0A%20%20var%20j%3D0%3B%0D%0A%20%20for%20%28var%20i%3D0%3Bi%3C256%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20j%3D%20%28j+%20tab1%5Bi%5D%20+%20tab2%5Bj%5D%29%25256%3B%0D%0A%20%20%20%20var%20temp%20%3D%20tab1%5Bi%5D%3B%0D%0A%20%20%20%20tab1%5Bi%5D%20%3D%20tab1%5Bj%5D%3B%0D%0A%20%20%20%20tab1%5Bj%5D%20%3D%20temp%3B%0D%0A%20%20%7D%0D%0A%20%20i%3D0%3Bj%3D0%3B%0D%0A%20%20for%20%28var%20k%3D0%3Bk%3Cdata.length%3Bk++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20i%20%3D%20%28i+1%29%25256%3B%0D%0A%20%20%20%20j%20%3D%20%28j+tab1%5Bi%5D%29%25256%3B%0D%0A%20%20%20%20var%20temp%20%3D%20tab1%5Bi%5D%3B%0D%0A%20%20%20%20tab1%5Bi%5D%20%3D%20tab1%5Bj%5D%3B%0D%0A%20%20%20%20tab1%5Bj%5D%20%3D%20temp%3B%0D%0A%20%20%20%20resultat%5Bk%5D%20%3D%20data%5Bk%5D%20%5E%20tab1%5B%28tab1%5Bi%5D%20+%20tab1%5Bj%5D%29%25256%5D%3B%0D%0A%20%20%7D%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20octet_alea%28%29%0D%0A%7B%0D%0A%20%20return%20%28Math.floor%28Math.random%28%29*256%29%29%3B%0D%0A%7D%0D%0A%0D%0Afunction%20crypt_text%28text%2Cpassword%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20key%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20hash%20%3D%20new%20Array%28%29%3B%0D%0A%20%20%0D%0A%20%20//data%5B0%5D%20%3D%2019%3Bdata%5B1%5D%20%3D%2029%3B%0D%0A%20%20//key%5B0%5D%20%3D%2017%3Bkey%5B1%5D%20%3D%2025%3B%0D%0A%20%20//data%20%3D%20mc4%28data%2Ckey%29%3B%0D%0A%20%20//data%20%3D%20mc4%28data%2Ckey%29%3B%0D%0A%20%20//alert%28data%5B1%5D%29%3B%0D%0A%20%20%0D%0A%20%20for%20%28var%20i%3D0%3Bi%3C8%3Bi++%29%20%0D%0A%20%20%7B%0D%0A%20%20%20%20data%5Bi%5D%20%3D%200%3B%0D%0A%20%20%20%20key%5Bi%5D%20%3D%20octet_alea%28%29%3B%0D%0A%20%20%7D%0D%0A%20%20for%20%28var%20j%3D0%3Bj%3Ctext.length%3Bj++%29%20data%5Bi+j%5D%20%3D%20text.charCodeAt%28j%29%3B%0D%0A%20%20for%20%28var%20j%3D0%3Bj%3Cpassword.length%3Bj++%29%20key%5Bi+j%5D%20%3D%20password.charCodeAt%28j%29%3B%0D%0A%20%20hash%20%3D%20calcmd5%28key%2C0%29%3B%20%0D%0A%20%20data%20%3D%20mc4%28data%2Chash%29%3B%0D%0A%20%20for%20%28var%20i%3D0%3Bi%3C8%3Bi++%29%20data%5Bi%5D%20%3D%20key%5Bi%5D%3B%0D%0A%20%20resultat%20%3D%20base64_encode%28data%29%3B%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20decrypt_text%28text%2Cpassword%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20key%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20hash%20%3D%20new%20Array%28%29%3B%0D%0A%20%20data%20%3D%20base64_decode%28text%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3C8%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20key%5Bi%5D%20%3D%20data%5Bi%5D%3B%0D%0A%20%20%7D%0D%0A%20%20//data%20%3D%20data.slice%288%2Cdata.length%29%3B%0D%0A%20%20for%20%28j%3D0%3Bj%3Cpassword.length%3Bj++%29%20key%5Bi+j%5D%20%3D%20password.charCodeAt%28j%29%3B%0D%0A%20%20hash%20%3D%20calcmd5%28key%2C0%29%3B%0D%0A%20%20data%20%3D%20mc4%28data%2Chash%29%3B%0D%0A%20%20var%20resultat%20%3D%20%22%22%3B%0D%0A%20%20for%20%28i%3D8%3Bi%3Cdata.length%3Bi++%29%20resultat+%3DString.fromCharCode%28data%5Bi%5D%29%3B%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%3C/SCRIPT%3E%0D%0A%20%20%3Ciframe%20src%3D%22%22%20width%3D%22468%22%20height%3D%2260%22%20scrolling%3D%22no%22%20frameborder%3D%220%22%3E%3C/iframe%3E%20%3C/div%3E%0D%0A%20%20%3CFORM%20name%3Dformul%20method%3Dpost%3E%0D%0A%20%20%20%20%3CP%20align%3D%22center%22%3E%3Cstrong%3ECrypter%20vos%20messages%3C/strong%3E%3C/P%3E%0D%0A%20%20%20%20%3CP%20align%3D%22center%22%3E%3CFONT%20face%3D%22Verdana%2C%20Arial%2C%20Helvetica%2C%20sans-serif%22%20size%3D2%3ETexte%20%0D%0A%20%20%20%20%20%20%E0%20%3Cstrong%3EC%3C/strong%3Erypter/%3Cstrong%3ED%3C/strong%3E%E9crypter%20%3A%3CBR%3E%0D%0A%20%20%20%20%20%20%3CTEXTAREA%20name%3Ddonnees%20rows%3D%2215%22%20%20wrap%3DVIRTUAL%20cols%3D%2260%22%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%3C/TEXTAREA%3E%0D%0A%20%20%20%20%20%20%3CBR%3E%0D%0A%20%20%20%20%20%20Phrase%20de%20%3Cstrong%3EC%3C/strong%3Eryptage/%3Cstrong%3ED%3C/strong%3E%E9cryptage%20%3A%20%0D%0A%20%20%20%20%20%20%3CINPUT%20type%3D%22password%22%20name%3D%22passe%22%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%0D%0A%20%20%20%20%20%20%3CBR%3E%0D%0A%20%20%20%20%20%20%3CINPUT%20onclick%3D%22document.formul.donnees.value%20%3D%20crypt_text%28document.formul.donnees.value%2Cdocument.formul.passe.value%29%3Breturn%20false%3B%22%20type%3Dsubmit%20value%3DCrypter%20name%3Dsubmit%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%0D%0A%20%20%20%20%20%20%3CINPUT%20onclick%3D%22document.formul.donnees.value%20%3D%20decrypt_text%28document.formul.donnees.value%2Cdocument.formul.passe.value%29%3Breturn%20false%3B%22%20type%3Dsubmit%20value%3DD%E9crypter%20name%3Dsubmit2%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%0D%0A%20%20%20%20%20%20%3C/FONT%3E%3C/P%3E%0D%0A%20%20%20%20%3CP%3E%26nbsp%3B%3C/P%3E%0D%0A%20%20%3C/FORM%3E%0D%0A%20%20%3Cp%3E%3Cstrong%3EF.A.Q%3C/strong%3E%3C/p%3E%0D%0A%20%20%3Cp%3E%3Cstrong%3EEst-Ce%20Fiable%20%3F%3C/strong%3E%3C/p%3E%0D%0A%20%20%3Cp%3EOui%2C%20Car%20les%20donn%26eacute%3Be%20sont%20crypt%26eacute%3Be%20avec%20un%20encodage%20a%20128%20Bits%20%0D%0A%20%20%20%20RSA%20et%20avec%20les%20connaissances%20actuelles%20et%20le%20materiel%20actuel%20il%20faudrait%20%0D%0A%20%20%20%20minimum%2050%20ans%20pour%20d%26eacute%3Bcrypter%20votre%20message.%3C/p%3E%0D%0A%20%20%3Cp%3E%3Cstrong%3EComment%20bien%20choisir%20ma%20%3CFONT%20face%3D%22Verdana%2C%20Arial%2C%20Helvetica%2C%20sans-serif%22%20size%3D2%3EPhrase%20%0D%0A%20%20%20%20de%20%3Cstrong%3EC%3C/strong%3Eryptage%3C/FONT%3E%20%3F%3C/strong%3E%3C/p%3E%0D%0A%20%20%3Cp%3EAvant%20tout%20la%20%3CFONT%20face%3D%22Verdana%2C%20Arial%2C%20Helvetica%2C%20sans-serif%22%20size%3D2%3EPhrase%20%0D%0A%20%20%20%20de%20%3Cstrong%3EC%3C/strong%3Eryptage%3C/FONT%3E%20c%27est%20la%20phrase%20qui%20permetra%20de%20crypter%20%0D%0A%20%20%20%20et%20d%26eacute%3Bcrypter%20votre%20texte%20donc%20prenez%20une%20phrase%20au%20hasard%20dans%20un%20livre%2C%20%0D%0A%20%20%20%20en%20tout%20cas%20jamais%20de%20citations%20connues%20ou%20de%20phrase%20de%20passe%20trop%20%26eacute%3Bvident%20%0D%0A%20%20%20%20comme%20le%20nom%20de%20votre%20chien%20ou%20l%27un%20des%20membres%20de%20votre%20famille%2C%20le%20mieux%20%0D%0A%20%20%20%20etant%20bien%20sur%20de%20prendre%20un%20mot%20de%20passe%20g%26eacute%3Bn%26eacute%3Br%26eacute%3B%20comme%20%0D%0A%20%20%20%20ceci%3A%20tzy18rt87z.%3C/p%3E%0D%0A%20%20%3Cp%3E%26nbsp%3B%3C/p%3E%0D%0A%3C/DIV%3E%0D%0A%3C/BODY%3E%3C/HTML%3E%0D%0A"));
//-->
</script>


a enregister sous .html pour le mettre sur son site

Commentaire de fatahfr le 24/03/2005 11:52:56

voila la source sans la pub pour celui qui le veut

<script>
<!--
document.write(unescape("%3Cscript%20language%3DJavaScript%3E%0D%0Aself.moveTo%280%2C0%29%3B%0D%0Aself.resizeTo%28screen.width/1.95%2Cscreen.height/1.5%29%3B%0D%0A%3C/script%3E%0D%0A%3C%21DOCTYPE%20HTML%20PUBLIC%20%22-//W3C//DTD%20HTML%204.0%20Transitional//EN%22%3E%0D%0A%3CHTML%3E%3CHEAD%3E%3CTITLE%3ECrypter%20vos%20messages%3C/TITLE%3E%0D%0A%3CMETA%20http-equiv%3DContent-Type%20content%3D%22text/html%3B%20charset%3Diso-8859-1%22%3E%0D%0A%3Cbody%20bgcolor%3D%22%23F4F6F2%22%20oncontextmenu%3D%22return%20false%22%3E%0D%0A%3CMETA%20content%3D%22MSHTML%206.00.2800.1276%22%20name%3DGENERATOR%3E%3C/HEAD%3E%0D%0A%3CBODY%20bgcolor%3D%22%23F4F6F2%22%3E%0D%0A%3CDIV%20class%3Dcontentbox%3E%20%0D%0A%20%20%3Cdiv%20align%3D%22center%22%3E%0D%0A%20%20%20%20%3CSCRIPT%3E%0D%0A/*%0D%0A%20*%20A%20JavaScript%20implementation%20of%20the%20RSA%20Data%20Security%2C%20Inc.%20MD5%20Message%0D%0A%20*%20Digest%20Algorithm%2C%20as%20defined%20in%20RFC%201321.%0D%0A%20*%20Copyright%20%28C%29%20Paul%20Johnston%201999%20-%202000.%0D%0A%20*%20Updated%20by%20Greg%20Holt%202000%20-%202001.%0D%0A%20*%20Updated%20by%20Michel%20Chilowicz%20%3Cmichel@netastuces.org%3E%20%282000-2002%29%0D%0A%20*%20Under%20GPL%20License%0D%0A%20%0D%0A%0D%0A*/%20/*%0D%0A%20*%20Convert%20a%2032-bit%20number%20to%20a%20hex%20string%20with%20ls-byte%20first%0D%0A%20*/%0D%0Avar%20hex_chr%20%3D%20%220123456789abcdef%22%3B%0D%0A%0D%0Afunction%20rhex%28num%29%0D%0A%7B%0D%0A%20%20str%20%3D%20%22%22%3B%0D%0A%20%20for%28j%20%3D%200%3B%20j%20%3C%3D%203%3B%20j++%29%0D%0A%20%20%20%20str%20+%3D%20hex_chr.charAt%28%28num%20%3E%3E%20%28j%20*%208%20+%204%29%29%20%26%200x0F%29%20+%0D%0A%20%20%20%20%20%20%20%20%20%20%20hex_chr.charAt%28%28num%20%3E%3E%20%28j%20*%208%29%29%20%26%200x0F%29%3B%0D%0A%20%20return%20str%3B%0D%0A%7D%20%0D%0A%0D%0Afunction%20int32toarray%28int32%29%0D%0A%7B%0D%0A%20%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20j%3D0%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Cint32.length%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20for%20%28k%3D0%3Bk%3C4%3Bk++%29%20data%5Bj++%5D%20%3D%20%28int32%5Bi%5D%3E%3E%288*k%29%29%26255%3B%0D%0A%20%20%7D%0D%0A%20%20return%20data%3B%0D%0A%7D%0D%0A%20%20%20%20%0D%0A%0D%0A/*%0D%0A%20*%20Convert%20a%20string%20to%20a%20sequence%20of%2016-word%20blocks%2C%20stored%20as%20an%20array.%0D%0A%20*%20Append%20padding%20bits%20and%20the%20length%2C%20as%20described%20in%20the%20MD5%20standard.%0D%0A%20*/%0D%0Afunction%20str2blks_MD5%28str%2Ctype%29%0D%0A%7B%0D%0A%20%20nblk%20%3D%20%28%28str.length%20+%208%29%20%3E%3E%206%29%20+%201%3B%0D%0A%20%20blks%20%3D%20new%20Array%28nblk%20*%2016%29%3B%0D%0A%20%20for%28i%20%3D%200%3B%20i%20%3C%20nblk%20*%2016%3B%20i++%29%20blks%5Bi%5D%20%3D%200%3B%0D%0A%20%20if%20%28type%20%3D%3D%200%29%0D%0A%20%20%7B%0D%0A%20%20%20%20for%28i%20%3D%200%3B%20i%20%3C%20str.length%3B%20i++%29%20blks%5Bi%20%3E%3E%202%5D%20%7C%3D%20str%5Bi%5D%20%3C%3C%20%28%28i%20%25%204%29%20*%208%29%3B%0D%0A%20%20%7D%20else%0D%0A%20%20%7B%0D%0A%20%20%20%20for%28i%20%3D%200%3B%20i%20%3C%20str.length%3B%20i++%29%20blks%5Bi%20%3E%3E%202%5D%20%7C%3D%20str.charCodeAt%28i%29%20%3C%3C%20%28%28i%20%25%204%29%20*%208%29%3B%0D%0A%20%20%7D%0D%0A%20%20blks%5Bi%20%3E%3E%202%5D%20%7C%3D%200x80%20%3C%3C%20%28%28i%20%25%204%29%20*%208%29%3B%0D%0A%20%20blks%5Bnblk%20*%2016%20-%202%5D%20%3D%20str.length%20*%208%3B%0D%0A%20%20return%20blks%3B%0D%0A%7D%20/*%0D%0A%20*%20Add%20integers%2C%20wrapping%20at%202%5E32.%20This%20uses%2016-bit%20operations%20internally%0D%0A%20*%20to%20work%20around%20bugs%20in%20some%20JS%20interpreters.%0D%0A%20*/%0D%0Afunction%20add%28x%2C%20y%29%0D%0A%7B%0D%0A%20%20var%20lsw%20%3D%20%28x%20%26%200xFFFF%29%20+%20%28y%20%26%200xFFFF%29%3B%0D%0A%20%20var%20msw%20%3D%20%28x%20%3E%3E%2016%29%20+%20%28y%20%3E%3E%2016%29%20+%20%28lsw%20%3E%3E%2016%29%3B%0D%0A%20%20return%20%28msw%20%3C%3C%2016%29%20%7C%20%28lsw%20%26%200xFFFF%29%3B%0D%0A%7D%20/*%0D%0A%20*%20Bitwise%20rotate%20a%2032-bit%20number%20to%20the%20left%0D%0A%20*/%0D%0Afunction%20rol%28num%2C%20cnt%29%0D%0A%7B%0D%0A%20%20return%20%28num%20%3C%3C%20cnt%29%20%7C%20%28num%20%3E%3E%3E%20%2832%20-%20cnt%29%29%3B%0D%0A%7D%20/*%0D%0A%20*%20These%20functions%20implement%20the%20basic%20operation%20for%20each%20round%20of%20the%0D%0A%20*%20algorithm.%0D%0A%20*/%0D%0Afunction%20cmn%28q%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20add%28rol%28add%28add%28a%2C%20q%29%2C%20add%28x%2C%20t%29%29%2C%20s%29%2C%20b%29%3B%0D%0A%7D%0D%0Afunction%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28%28b%20%26%20c%29%20%7C%20%28%28%7Eb%29%20%26%20d%29%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%0D%0Afunction%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28%28b%20%26%20d%29%20%7C%20%28c%20%26%20%28%7Ed%29%29%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%0D%0Afunction%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28b%20%5E%20c%20%5E%20d%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%0D%0Afunction%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%2C%20s%2C%20t%29%0D%0A%7B%0D%0A%20%20return%20cmn%28c%20%5E%20%28b%20%7C%20%28%7Ed%29%29%2C%20a%2C%20b%2C%20x%2C%20s%2C%20t%29%3B%0D%0A%7D%20/*%0D%0A%20*%20Take%20a%20string%20and%20return%20the%20hex%20representation%20of%20its%20MD5.%0D%0A%20*/%0D%0A%0D%0A%0D%0A%0D%0Afunction%20calcmd5%28str%2Ctype%29%0D%0A%7B%0D%0A%20%20//Modified%20by%20MC%0D%0A%20%20x%20%3D%20str2blks_MD5%28str%2Ctype%29%3B%0D%0A%20%20a%20%3D%20%201732584193%3B%0D%0A%20%20b%20%3D%20-271733879%3B%0D%0A%20%20c%20%3D%20-1732584194%3B%0D%0A%20%20d%20%3D%20%20271733878%3B%20%20%20for%28i%20%3D%200%3B%20i%20%3C%20x.length%3B%20i%20+%3D%2016%29%0D%0A%20%20%7B%0D%0A%20%20%20%20olda%20%3D%20a%3B%0D%0A%20%20%20%20oldb%20%3D%20b%3B%0D%0A%20%20%20%20oldc%20%3D%20c%3B%0D%0A%20%20%20%20oldd%20%3D%20d%3B%20%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%200%5D%2C%207%20%2C%20-680876936%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%201%5D%2C%2012%2C%20-389564586%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%202%5D%2C%2017%2C%20%20606105819%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%203%5D%2C%2022%2C%20-1044525330%29%3B%0D%0A%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%204%5D%2C%207%20%2C%20-176418897%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%205%5D%2C%2012%2C%20%201200080426%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%206%5D%2C%2017%2C%20-1473231341%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%207%5D%2C%2022%2C%20-45705983%29%3B%0D%0A%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%208%5D%2C%207%20%2C%20%201770035416%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%209%5D%2C%2012%2C%20-1958414417%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+10%5D%2C%2017%2C%20-42063%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+11%5D%2C%2022%2C%20-1990404162%29%3B%0D%0A%20%20%20%20a%20%3D%20ff%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+12%5D%2C%207%20%2C%20%201804603682%29%3B%0D%0A%20%20%20%20d%20%3D%20ff%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+13%5D%2C%2012%2C%20-40341101%29%3B%0D%0A%20%20%20%20c%20%3D%20ff%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+14%5D%2C%2017%2C%20-1502002290%29%3B%0D%0A%20%20%20%20b%20%3D%20ff%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+15%5D%2C%2022%2C%20%201236535329%29%3B%20%20%20%20%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%201%5D%2C%205%20%2C%20-165796510%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%206%5D%2C%209%20%2C%20-1069501632%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+11%5D%2C%2014%2C%20%20643717713%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%200%5D%2C%2020%2C%20-373897302%29%3B%0D%0A%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%205%5D%2C%205%20%2C%20-701558691%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+10%5D%2C%209%20%2C%20%2038016083%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+15%5D%2C%2014%2C%20-660478335%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%204%5D%2C%2020%2C%20-405537848%29%3B%0D%0A%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%209%5D%2C%205%20%2C%20%20568446438%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+14%5D%2C%209%20%2C%20-1019803690%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%203%5D%2C%2014%2C%20-187363961%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%208%5D%2C%2020%2C%20%201163531501%29%3B%0D%0A%20%20%20%20a%20%3D%20gg%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+13%5D%2C%205%20%2C%20-1444681467%29%3B%0D%0A%20%20%20%20d%20%3D%20gg%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%202%5D%2C%209%20%2C%20-51403784%29%3B%0D%0A%20%20%20%20c%20%3D%20gg%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%207%5D%2C%2014%2C%20%201735328473%29%3B%0D%0A%20%20%20%20b%20%3D%20gg%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+12%5D%2C%2020%2C%20-1926607734%29%3B%0D%0A%20%20%20%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%205%5D%2C%204%20%2C%20-378558%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%208%5D%2C%2011%2C%20-2022574463%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+11%5D%2C%2016%2C%20%201839030562%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+14%5D%2C%2023%2C%20-35309556%29%3B%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%201%5D%2C%204%20%2C%20-1530992060%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%204%5D%2C%2011%2C%20%201272893353%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%207%5D%2C%2016%2C%20-155497632%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+10%5D%2C%2023%2C%20-1094730640%29%3B%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+13%5D%2C%204%20%2C%20%20681279174%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%200%5D%2C%2011%2C%20-358537222%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%203%5D%2C%2016%2C%20-722521979%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%206%5D%2C%2023%2C%20%2076029189%29%3B%0D%0A%20%20%20%20a%20%3D%20hh%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%209%5D%2C%204%20%2C%20-640364487%29%3B%0D%0A%20%20%20%20d%20%3D%20hh%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+12%5D%2C%2011%2C%20-421815835%29%3B%0D%0A%20%20%20%20c%20%3D%20hh%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+15%5D%2C%2016%2C%20%20530742520%29%3B%0D%0A%20%20%20%20b%20%3D%20hh%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%202%5D%2C%2023%2C%20-995338651%29%3B%20%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%200%5D%2C%206%20%2C%20-198630844%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%207%5D%2C%2010%2C%20%201126891415%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+14%5D%2C%2015%2C%20-1416354905%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%205%5D%2C%2021%2C%20-57434055%29%3B%0D%0A%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+12%5D%2C%206%20%2C%20%201700485571%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+%203%5D%2C%2010%2C%20-1894986606%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+10%5D%2C%2015%2C%20-1051523%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%201%5D%2C%2021%2C%20-2054922799%29%3B%0D%0A%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%208%5D%2C%206%20%2C%20%201873313359%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+15%5D%2C%2010%2C%20-30611744%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%206%5D%2C%2015%2C%20-1560198380%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+13%5D%2C%2021%2C%20%201309151649%29%3B%0D%0A%20%20%20%20a%20%3D%20ii%28a%2C%20b%2C%20c%2C%20d%2C%20x%5Bi+%204%5D%2C%206%20%2C%20-145523070%29%3B%0D%0A%20%20%20%20d%20%3D%20ii%28d%2C%20a%2C%20b%2C%20c%2C%20x%5Bi+11%5D%2C%2010%2C%20-1120210379%29%3B%0D%0A%20%20%20%20c%20%3D%20ii%28c%2C%20d%2C%20a%2C%20b%2C%20x%5Bi+%202%5D%2C%2015%2C%20%20718787259%29%3B%0D%0A%20%20%20%20b%20%3D%20ii%28b%2C%20c%2C%20d%2C%20a%2C%20x%5Bi+%209%5D%2C%2021%2C%20-343485551%29%3B%20%20%20%20%20a%20%3D%20add%28a%2C%20olda%29%3B%0D%0A%20%20%20%20b%20%3D%20add%28b%2C%20oldb%29%3B%0D%0A%20%20%20%20c%20%3D%20add%28c%2C%20oldc%29%3B%0D%0A%20%20%20%20d%20%3D%20add%28d%2C%20oldd%29%3B%0D%0A%20%20%7D%0D%0A%20%20//return%20rhex%28a%29%20+%20rhex%28b%29%20+%20rhex%28c%29%20+%20rhex%28d%29%3B%0D%0A%20%20int32%20%3D%20new%20Array%28a%2Cb%2Cc%2Cd%29%3B%0D%0A%20%20return%20int32toarray%28int32%29%3B%0D%0A%7D%0D%0A%3C/SCRIPT%3E%0D%0A%20%20%20%20%3CSCRIPT%3E%0D%0A//Javascryptor%20by%20Michel%20Chilowicz%20%3Cmichel@netastuces.org%3E%0D%0A//Under%20GNU-GPL%20Licence%20%28cf%20http%3A//www.gnu.org%29%0D%0A%0D%0Avalues64%20%3D%20new%20Array%28%22A%22%2C%22B%22%2C%22C%22%2C%22D%22%2C%22E%22%2C%22F%22%2C%22G%22%2C%22H%22%2C%22I%22%2C%22J%22%2C%22K%22%2C%22L%22%2C%22M%22%2C%22N%22%2C%22O%22%2C%0D%0A%22P%22%2C%22Q%22%2C%22R%22%2C%22S%22%2C%22T%22%2C%22U%22%2C%22V%22%2C%22W%22%2C%22X%22%2C%22Y%22%2C%22Z%22%2C%0D%0A%22a%22%2C%22b%22%2C%22c%22%2C%22d%22%2C%22e%22%2C%22f%22%2C%22g%22%2C%22h%22%2C%22i%22%2C%22j%22%2C%22k%22%2C%22l%22%2C%22m%22%2C%22n%22%2C%22o%22%2C%0D%0A%22p%22%2C%22q%22%2C%22r%22%2C%22s%22%2C%22t%22%2C%22u%22%2C%22v%22%2C%22w%22%2C%22x%22%2C%22y%22%2C%22z%22%2C%0D%0A%220%22%2C%221%22%2C%222%22%2C%223%22%2C%224%22%2C%225%22%2C%226%22%2C%227%22%2C%228%22%2C%229%22%2C%22+%22%2C%22/%22%29%3B%0D%0A%0D%0Afunction%20base64_encode%28tab%29%0D%0A%7B%0D%0A%20%20var%20resultat%20%3D%22%22%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctab.length+1%3Bi+%3D3%29%0D%0A%20%20%7B%0D%0A%20%20%20%20if%20%28tab.length%20%3C%20%28i+1%29%29%20//%3D%3Di%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20return%20resultat%3B%0D%0A%20%20%20%20%7D%20else%20if%20%28tab.length%20%3D%3D%20%28i+1%29%29%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dvalues64%5Btab%5Bi%5D%20%3E%3E%202%5D+values64%5B%28tab%5Bi%5D%20%3C%3C%204%29%2648%5D+%22%3D%3D%22%3B%0D%0A%20%20%20%20%20%20return%20resultat%3B%0D%0A%20%20%20%20%7D%20else%20if%20%28tab.length%20%3D%3D%20%28i+2%29%29%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dvalues64%5Btab%5Bi%5D%20%3E%3E%202%5D+values64%5B%28%28tab%5Bi%5D%20%3C%3C%204%29%2648%29%20%7C%20%28tab%5Bi+1%5D%20%3E%3E%204%29%5D+values64%5B%28tab%5Bi+1%5D%20%3C%3C%202%29%2660%5D+%22%3D%22%3B%0D%0A%20%20%20%20%20%20return%20resultat%3B%0D%0A%20%20%20%20%7D%20else%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dvalues64%5Btab%5Bi%5D%20%3E%3E%202%5D+values64%5B%28%28tab%5Bi%5D%20%3C%3C%204%29%2648%29%20%7C%20%28tab%5Bi+1%5D%20%3E%3E%204%29%5D+values64%5B%28%28tab%5Bi+1%5D%20%3C%3C%202%29%2660%29%20%7C%20%28tab%5Bi+2%5D%20%3E%3E6%29%5D+values64%5Btab%5Bi+2%5D%2663%5D%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%7D%0D%0A%7D%0D%0A%0D%0Afunction%20base64_filter%28text%29%0D%0A%7B%0D%0A%20%20var%20resultat%20%3D%20%22%22%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctext.length%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20var%20ordinal%20%3D%20text.charCodeAt%28i%29%3B%0D%0A%20%20%20%20if%20%28%28%28ordinal%3E47%29%20%26%26%20%28ordinal%3C58%29%29%20%7C%7C%20%28%28ordinal%3E64%29%20%26%26%20%28ordinal%3C91%29%29%20%7C%7C%20%28%28ordinal%3E96%29%20%26%26%20%28ordinal%3C123%29%29%20%7C%7C%20%28ordinal%3D%3D43%29%20%7C%7C%20%28ordinal%3D%3D47%29%20%7C%7C%20%28ordinal%3D%3D61%29%29%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20resultat+%3Dtext.substr%28i%2C1%29%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%7D%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20let2num%28let%29%0D%0A%7B%0D%0A%20%20var%20ordinal%20%3D%20let%3B%0D%0A%20%20if%20%28%28ordinal%3E47%29%20%26%26%20%28ordinal%3C58%29%29%20return%20%28ordinal%20+4%29%3B%0D%0A%20%20if%20%28%28ordinal%3E64%29%20%26%26%20%28ordinal%3C91%29%29%20return%20%28ordinal-65%29%3B%0D%0A%20%20if%20%28%28ordinal%3E96%29%20%26%26%20%28ordinal%3C123%29%29%20return%20%28ordinal-71%29%3B%0D%0A%20%20if%20%28ordinal%3D%3D43%29%20return%2062%3B%0D%0A%20%20if%20%28ordinal%3D%3D47%29%20return%2063%3B%0D%0A%20%20if%20%28ordinal%3D%3D61%29%20return%20-1%3B%0D%0A%20%20return%20-1%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Afunction%20base64_decode%28text%29%0D%0A%7B%0D%0A%20%20var%20j%3D0%3B%0D%0A%20%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20text%20%3D%20base64_filter%28text%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctext.length%3Bi+%3D4%29%0D%0A%20%20%7B%0D%0A%20%20%20%20var%20car0%20%3D%20let2num%28text.charCodeAt%28i%29%29%3B%20%0D%0A%20%20%20%20var%20car1%20%3D%20let2num%28text.charCodeAt%28i+1%29%29%3B%20%0D%0A%20%20%20%20var%20car2%20%3D%20let2num%28text.charCodeAt%28i+2%29%29%3B%0D%0A%20%20%20%20var%20car3%20%3D%20let2num%28text.charCodeAt%28i+3%29%29%3B%0D%0A%20%20%20%20if%20%28%28car0%20%3E%20-1%29%20%26%26%20%28car1%3E-1%29%29%20data%5Bj++%5D%20%3D%20%28car0%20%3C%3C%202%29%20%7C%20%28car1%20%3E%3E%204%29%3B%0D%0A%20%20%20%20if%20%28%28car1%20%3E%20-1%29%20%26%26%20%28car2%3E-1%29%29%20data%5Bj++%5D%20%3D%20%28%28car1%20%26%2015%29%20%3C%3C%204%29%20%7C%20%28car2%20%3E%3E%202%29%3B%0D%0A%20%20%20%20if%20%28%28car2%20%3E%20-1%29%20%26%26%20%28car3%3E-1%29%29%20data%5Bj++%5D%20%3D%20%28%28car2%20%26%203%29%20%3C%3C%206%29%20%7C%20%28car3%29%3B%0D%0A%20%20%7D%0D%0A%20%20return%20data%3B%0D%0A%7D%0D%0A%0D%0Afunction%20encode_text%28text%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Ctext.length%3Bi++%29%20data%5Bi%5D%20%3D%20text.charCodeAt%28i%29%3B%0D%0A%20%20return%20base64_encode%28data%29%3B%0D%0A%7D%0D%0A%0D%0Afunction%20decode_text%28text%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20resultat%20%3D%20%27%27%3B%0D%0A%20%20data%20%3D%20base64_decode%28text%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3Cdata.length%3Bi++%29%20resultat+%3DString.fromCharCode%28data%5Bi%5D%29%3B%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20mc4%28data%2Ckey%29%0D%0A%7B%0D%0A%20%20var%20tab1%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20tab2%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20resultat%20%3D%20new%20Array%28%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3C256%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20tab1%5Bi%5D%20%3D%20i%3B%0D%0A%20%20%20%20tab2%5Bi%5D%20%3D%20key%5Bi%25%28key.length%29%5D%3B%0D%0A%20%20%7D%0D%0A%20%20var%20j%3D0%3B%0D%0A%20%20for%20%28var%20i%3D0%3Bi%3C256%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20j%3D%20%28j+%20tab1%5Bi%5D%20+%20tab2%5Bj%5D%29%25256%3B%0D%0A%20%20%20%20var%20temp%20%3D%20tab1%5Bi%5D%3B%0D%0A%20%20%20%20tab1%5Bi%5D%20%3D%20tab1%5Bj%5D%3B%0D%0A%20%20%20%20tab1%5Bj%5D%20%3D%20temp%3B%0D%0A%20%20%7D%0D%0A%20%20i%3D0%3Bj%3D0%3B%0D%0A%20%20for%20%28var%20k%3D0%3Bk%3Cdata.length%3Bk++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20i%20%3D%20%28i+1%29%25256%3B%0D%0A%20%20%20%20j%20%3D%20%28j+tab1%5Bi%5D%29%25256%3B%0D%0A%20%20%20%20var%20temp%20%3D%20tab1%5Bi%5D%3B%0D%0A%20%20%20%20tab1%5Bi%5D%20%3D%20tab1%5Bj%5D%3B%0D%0A%20%20%20%20tab1%5Bj%5D%20%3D%20temp%3B%0D%0A%20%20%20%20resultat%5Bk%5D%20%3D%20data%5Bk%5D%20%5E%20tab1%5B%28tab1%5Bi%5D%20+%20tab1%5Bj%5D%29%25256%5D%3B%0D%0A%20%20%7D%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20octet_alea%28%29%0D%0A%7B%0D%0A%20%20return%20%28Math.floor%28Math.random%28%29*256%29%29%3B%0D%0A%7D%0D%0A%0D%0Afunction%20crypt_text%28text%2Cpassword%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20key%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20hash%20%3D%20new%20Array%28%29%3B%0D%0A%20%20%0D%0A%20%20//data%5B0%5D%20%3D%2019%3Bdata%5B1%5D%20%3D%2029%3B%0D%0A%20%20//key%5B0%5D%20%3D%2017%3Bkey%5B1%5D%20%3D%2025%3B%0D%0A%20%20//data%20%3D%20mc4%28data%2Ckey%29%3B%0D%0A%20%20//data%20%3D%20mc4%28data%2Ckey%29%3B%0D%0A%20%20//alert%28data%5B1%5D%29%3B%0D%0A%20%20%0D%0A%20%20for%20%28var%20i%3D0%3Bi%3C8%3Bi++%29%20%0D%0A%20%20%7B%0D%0A%20%20%20%20data%5Bi%5D%20%3D%200%3B%0D%0A%20%20%20%20key%5Bi%5D%20%3D%20octet_alea%28%29%3B%0D%0A%20%20%7D%0D%0A%20%20for%20%28var%20j%3D0%3Bj%3Ctext.length%3Bj++%29%20data%5Bi+j%5D%20%3D%20text.charCodeAt%28j%29%3B%0D%0A%20%20for%20%28var%20j%3D0%3Bj%3Cpassword.length%3Bj++%29%20key%5Bi+j%5D%20%3D%20password.charCodeAt%28j%29%3B%0D%0A%20%20hash%20%3D%20calcmd5%28key%2C0%29%3B%20%0D%0A%20%20data%20%3D%20mc4%28data%2Chash%29%3B%0D%0A%20%20for%20%28var%20i%3D0%3Bi%3C8%3Bi++%29%20data%5Bi%5D%20%3D%20key%5Bi%5D%3B%0D%0A%20%20resultat%20%3D%20base64_encode%28data%29%3B%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%0D%0Afunction%20decrypt_text%28text%2Cpassword%29%0D%0A%7B%0D%0A%20%20var%20data%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20key%20%3D%20new%20Array%28%29%3B%0D%0A%20%20var%20hash%20%3D%20new%20Array%28%29%3B%0D%0A%20%20data%20%3D%20base64_decode%28text%29%3B%0D%0A%20%20for%20%28i%3D0%3Bi%3C8%3Bi++%29%0D%0A%20%20%7B%0D%0A%20%20%20%20key%5Bi%5D%20%3D%20data%5Bi%5D%3B%0D%0A%20%20%7D%0D%0A%20%20//data%20%3D%20data.slice%288%2Cdata.length%29%3B%0D%0A%20%20for%20%28j%3D0%3Bj%3Cpassword.length%3Bj++%29%20key%5Bi+j%5D%20%3D%20password.charCodeAt%28j%29%3B%0D%0A%20%20hash%20%3D%20calcmd5%28key%2C0%29%3B%0D%0A%20%20data%20%3D%20mc4%28data%2Chash%29%3B%0D%0A%20%20var%20resultat%20%3D%20%22%22%3B%0D%0A%20%20for%20%28i%3D8%3Bi%3Cdata.length%3Bi++%29%20resultat+%3DString.fromCharCode%28data%5Bi%5D%29%3B%0D%0A%20%20return%20resultat%3B%0D%0A%7D%0D%0A%3C/SCRIPT%3E%0D%0A%20%20%3Ciframe%20src%3D%22%22%20width%3D%22468%22%20height%3D%2260%22%20scrolling%3D%22no%22%20frameborder%3D%220%22%3E%3C/iframe%3E%20%3C/div%3E%0D%0A%20%20%3CFORM%20name%3Dformul%20method%3Dpost%3E%0D%0A%20%20%20%20%3CP%20align%3D%22center%22%3E%3Cstrong%3ECrypter%20vos%20messages%3C/strong%3E%3C/P%3E%0D%0A%20%20%20%20%3CP%20align%3D%22center%22%3E%3CFONT%20face%3D%22Verdana%2C%20Arial%2C%20Helvetica%2C%20sans-serif%22%20size%3D2%3ETexte%20%0D%0A%20%20%20%20%20%20%E0%20%3Cstrong%3EC%3C/strong%3Erypter/%3Cstrong%3ED%3C/strong%3E%E9crypter%20%3A%3CBR%3E%0D%0A%20%20%20%20%20%20%3CTEXTAREA%20name%3Ddonnees%20rows%3D%2215%22%20%20wrap%3DVIRTUAL%20cols%3D%2260%22%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%3C/TEXTAREA%3E%0D%0A%20%20%20%20%20%20%3CBR%3E%0D%0A%20%20%20%20%20%20Phrase%20de%20%3Cstrong%3EC%3C/strong%3Eryptage/%3Cstrong%3ED%3C/strong%3E%E9cryptage%20%3A%20%0D%0A%20%20%20%20%20%20%3CINPUT%20type%3D%22password%22%20name%3D%22passe%22%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%0D%0A%20%20%20%20%20%20%3CBR%3E%0D%0A%20%20%20%20%20%20%3CINPUT%20onclick%3D%22document.formul.donnees.value%20%3D%20crypt_text%28document.formul.donnees.value%2Cdocument.formul.passe.value%29%3Breturn%20false%3B%22%20type%3Dsubmit%20value%3DCrypter%20name%3Dsubmit%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%0D%0A%20%20%20%20%20%20%3CINPUT%20onclick%3D%22document.formul.donnees.value%20%3D%20decrypt_text%28document.formul.donnees.value%2Cdocument.formul.passe.value%29%3Breturn%20false%3B%22%20type%3Dsubmit%20value%3DD%E9crypter%20name%3Dsubmit2%20style%3D%22background-color%3A%20%23D7D7D7%3B%20color%3A%20Black%3B%20%0D%0Afont-family%3A%20Verdana%3B%20font-size%3A%2011px%3B%20border%3A%201%20solid%20black%22%22%3E%0D%0A%20%20%20%20%20%20%3C/FONT%3E%3C/P%3E%0D%0A%20%20%20%20%3CP%3E%26nbsp%3B%3C/P%3E%0D%0A%20%20%3C/FORM%3E%0D%0A%20%20%3Cp%3E%3Cstrong%3EF.A.Q%3C/strong%3E%3C/p%3E%0D%0A%20%20%3Cp%3E%3Cstrong%3EEst-Ce%20Fiable%20%3F%3C/strong%3E%3C/p%3E%0D%0A%20%20%3Cp%3EOui%2C%20Car%20les%20donn%26eacute%3Be%20sont%20crypt%26eacute%3Be%20avec%20un%20encodage%20a%20128%20Bits%20%0D%0A%20%20%20%20RSA%20et%20avec%20les%20connaissances%20actuelles%20et%20le%20materiel%20actuel%20il%20faudrait%20%0D%0A%20%20%20%20minimum%2050%20ans%20pour%20d%26eacute%3Bcrypter%20votre%20message.%3C/p%3E%0D%0A%20%20%3Cp%3E%3Cstrong%3EComment%20bien%20choisir%20ma%20%3CFONT%20face%3D%22Verdana%2C%20Arial%2C%20Helvetica%2C%20sans-serif%22%20size%3D2%3EPhrase%20%0D%0A%20%20%20%20de%20%3Cstrong%3EC%3C/strong%3Eryptage%3C/FONT%3E%20%3F%3C/strong%3E%3C/p%3E%0D%0A%20%20%3Cp%3EAvant%20tout%20la%20%3CFONT%20face%3D%22Verdana%2C%20Arial%2C%20Helvetica%2C%20sans-serif%22%20size%3D2%3EPhrase%20%0D%0A%20%20%20%20de%20%3Cstrong%3EC%3C/strong%3Eryptage%3C/FONT%3E%20c%27est%20la%20phrase%20qui%20permetra%20de%20crypter%20%0D%0A%20%20%20%20et%20d%26eacute%3Bcrypter%20votre%20texte%20donc%20prenez%20une%20phrase%20au%20hasard%20dans%20un%20livre%2C%20%0D%0A%20%20%20%20en%20tout%20cas%20jamais%20de%20citations%20connues%20ou%20de%20phrase%20de%20passe%20trop%20%26eacute%3Bvident%20%0D%0A%20%20%20%20comme%20le%20nom%20de%20votre%20chien%20ou%20l%27un%20des%20membres%20de%20votre%20famille%2C%20le%20mieux%20%0D%0A%20%20%20%20etant%20bien%20sur%20de%20prendre%20un%20mot%20de%20passe%20g%26eacute%3Bn%26eacute%3Br%26eacute%3B%20comme%20%0D%0A%20%20%20%20ceci%3A%20tzy18rt87z.%3C/p%3E%0D%0A%20%20%3Cp%3E%26nbsp%3B%3C/p%3E%0D%0A%3C/DIV%3E%0D%0A%3C/BODY%3E%3C/HTML%3E%0D%0A"));
//-->
</script>


a enregister sous .html pour le mettre sur son site

Commentaire de coucou747 le 24/03/2005 18:02:55

juste comme ça, rsa et md5 sont totalement diférents : on ne fais pas l'un avec l'autre... (enfin, ça ne sert à rien...)
(ne dis pas que je ne connais pas RSA, je le connais très bien...)
si il n'explique pas comment marche sa source, alors elle ,ne vaut rien ! et on peut ajouter que si il ne sait pas expliquer comment elle marche alors il l'a piqué...

Commentaire de psycho81 le 03/08/2005 15:43:12

bonjour je viens de voir ici un vrai débat !
Passioné et passionant !
En lisant le code et en fesant une recherche on trouve bien d'autres forme de
cryptage (les mêmes qui ont été pompé. On pourra pas le remercier d'avoir
inventé le code, mais au moins on pourra le remercier de l'avoir mis ici :)
Etant moi aussi dans la cryptographie (mais pas en javascript, trop lent)
je tire mon chapeau au créateur de MD5 SHA1 RSA et tout. Sur ce lien, plin
d'info sympa et de source javascript pour le cryptage
http://pajhome.org.uk/crypt/md5/index.html
Salutations et svp ... arretez avez ce truc illisible qui fait des pages de long. le \n c'est pas pour des prunes :)

Commentaire de starsystem le 27/08/2005 17:32:12

super interessant tous vos commentaires!
je ne peux participer car suis débutant
et avide de connaissances.
merci à tous

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Août 2010
LMMJVSD
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales