Tout ce qui concerne le logiciel E-anim |
|
| [Résolu] Cryptage et Decryptage | |
| |
Auteur | Message |
---|
Invité Invité
| Sujet: Re: [Résolu] Cryptage et Decryptage Mer 06 Jan 2010, 17:35 | |
| C'est possible le md5 en actionscript. Regarde: - Code:
-
function MD5 (string) { function RotateLeft(lValue, iShiftBits) { return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits)); } function AddUnsigned(lX,lY) { var lX4,lY4,lX8,lY8,lResult; lX8 = (lX & 0x80000000); lY8 = (lY & 0x80000000); lX4 = (lX & 0x40000000); lY4 = (lY & 0x40000000); lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF); if (lX4 & lY4) { return (lResult ^ 0x80000000 ^ lX8 ^ lY8); } if (lX4 | lY4) { if (lResult & 0x40000000) { return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); } else { return (lResult ^ 0x40000000 ^ lX8 ^ lY8); } } else { return (lResult ^ lX8 ^ lY8); } } function F(x,y,z) { return (x & y) | ((~x) & z); } function G(x,y,z) { return (x & z) | (y & (~z)); } function H(x,y,z) { return (x ^ y ^ z); } function I(x,y,z) { return (y ^ (x | (~z))); } function FF(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function GG(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function HH(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function II(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function ConvertToWordArray(string) { var lWordCount; var lMessageLength = string.length; var lNumberOfWords_temp1=lMessageLength + 8; var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64; var lNumberOfWords = (lNumberOfWords_temp2+1)*16; var lWordArray=Array(lNumberOfWords-1); var lBytePosition = 0; var lByteCount = 0; while ( lByteCount < lMessageLength ) { lWordCount = (lByteCount-(lByteCount % 4))/4; lBytePosition = (lByteCount % 4)*8; lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<<lBytePosition)); lByteCount++; } lWordCount = (lByteCount-(lByteCount % 4))/4; lBytePosition = (lByteCount % 4)*8; lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition); lWordArray[lNumberOfWords-2] = lMessageLength<<3; lWordArray[lNumberOfWords-1] = lMessageLength>>>29; return lWordArray; }; function WordToHex(lValue) { var WordToHexValue="",WordToHexValue_temp="",lByte,lCount; for (lCount = 0;lCount<=3;lCount++) { lByte = (lValue>>>(lCount*8)) & 255; WordToHexValue_temp = "0" + lByte.toString(16); WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2); } return WordToHexValue; }; function Utf8Encode(string) { var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; }; var x=Array(); var k,AA,BB,CC,DD,a,b,c,d; var S11=7, S12=12, S13=17, S14=22; var S21=5, S22=9 , S23=14, S24=20; var S31=4, S32=11, S33=16, S34=23; var S41=6, S42=10, S43=15, S44=21; string = Utf8Encode(string); x = ConvertToWordArray(string); a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476; for (k=0;k<x.length;k+=16) { AA=a; BB=b; CC=c; DD=d; a=FF(a,b,c,d,x[k+0], S11,0xD76AA478); d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756); c=FF(c,d,a,b,x[k+2], S13,0x242070DB); b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE); a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF); d=FF(d,a,b,c,x[k+5], S12,0x4787C62A); c=FF(c,d,a,b,x[k+6], S13,0xA8304613); b=FF(b,c,d,a,x[k+7], S14,0xFD469501); a=FF(a,b,c,d,x[k+8], S11,0x698098D8); d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF); c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1); b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE); a=FF(a,b,c,d,x[k+12],S11,0x6B901122); d=FF(d,a,b,c,x[k+13],S12,0xFD987193); c=FF(c,d,a,b,x[k+14],S13,0xA679438E); b=FF(b,c,d,a,x[k+15],S14,0x49B40821); a=GG(a,b,c,d,x[k+1], S21,0xF61E2562); d=GG(d,a,b,c,x[k+6], S22,0xC040B340); c=GG(c,d,a,b,x[k+11],S23,0x265E5A51); b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA); a=GG(a,b,c,d,x[k+5], S21,0xD62F105D); d=GG(d,a,b,c,x[k+10],S22,0x2441453); c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681); b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8); a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6); d=GG(d,a,b,c,x[k+14],S22,0xC33707D6); c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87); b=GG(b,c,d,a,x[k+8], S24,0x455A14ED); a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905); d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8); c=GG(c,d,a,b,x[k+7], S23,0x676F02D9); b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A); a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942); d=HH(d,a,b,c,x[k+8], S32,0x8771F681); c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122); b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C); a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44); d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9); c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60); b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70); a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6); d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA); c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085); b=HH(b,c,d,a,x[k+6], S34,0x4881D05); a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039); d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5); c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8); b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665); a=II(a,b,c,d,x[k+0], S41,0xF4292244); d=II(d,a,b,c,x[k+7], S42,0x432AFF97); c=II(c,d,a,b,x[k+14],S43,0xAB9423A7); b=II(b,c,d,a,x[k+5], S44,0xFC93A039); a=II(a,b,c,d,x[k+12],S41,0x655B59C3); d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92); c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D); b=II(b,c,d,a,x[k+1], S44,0x85845DD1); a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F); d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0); c=II(c,d,a,b,x[k+6], S43,0xA3014314); b=II(b,c,d,a,x[k+13],S44,0x4E0811A1); a=II(a,b,c,d,x[k+4], S41,0xF7537E82); d=II(d,a,b,c,x[k+11],S42,0xBD3AF235); c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB); b=II(b,c,d,a,x[k+9], S44,0xEB86D391); a=AddUnsigned(a,AA); b=AddUnsigned(b,BB); c=AddUnsigned(c,CC); d=AddUnsigned(d,DD); } var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d); return temp.toLowerCase(); } Il faudrait juste adapter pour mtasc. |
| | | eeepc-linux Accro
Nombre de messages : 209 Loisirs : Internet, Linux, graphique, E-anim Date d'inscription : 20/07/2009
| Sujet: Re: [Résolu] Cryptage et Decryptage Mer 06 Jan 2010, 23:47 | |
| Bonjour. Merci. Sinon, pour plus simple, je peux pas le créer en php et je l'insere dans un fichier HTML, comme sa,meme hors ligne, je peux y accédé. |
| | | eeepc-linux Accro
Nombre de messages : 209 Loisirs : Internet, Linux, graphique, E-anim Date d'inscription : 20/07/2009
| Sujet: Re: [Résolu] Cryptage et Decryptage Jeu 07 Jan 2010, 22:58 | |
| Bonjour. J'ai bien regarder, et il me faut plutot un script qui remplace les caractères, car comme c'est pour mon site, j'ai pas envie de me trouvé avec un code de plus de 28 lettres. Il me faut plus un genre de sa: a=ks b=h9 c=2i salut=v8n2nd8
C'est très Urgent. |
| | | Ludovic Bavard(e)
Nombre de messages : 38 Date d'inscription : 15/10/2009
| Sujet: Re: [Résolu] Cryptage et Decryptage Ven 08 Jan 2010, 09:16 | |
| Salut.
Ton code est une mauvaise idée, je réexplique :
salut=v8n2nd8 comment décoder chaque lettre ? si v8=S, n2=A, n=L, d=U, 8=T, on peut se retrouver avec une transcription de la façon suivante : vTL2LUT car le "n" présent dans la chaîne "n2" se retrouve aussi dans le code du caractère L. Tu vas au devant de gros soucis de décodage !...
Si tu persistes dans cette voie qui, à mon avis, est mauvaise, utilise le même nombre de caractères pour chacun de tes codes, et selon une norme. Par exemple, une lettre puis un chiffre. Cela te donne 26x10 = 260 possibilités. Exemple : A = L4 B = T8 C = N9 D = S1 E = Q0 F = M1 ...
Ainsi, pour écrire BAFFEE on aura 6 segments de 2 caractères : T8 L4 M1 M1 Q0 Q0 Je mets des espaces pour la clarté, étant entendu qu'il n'y en aura pas dans le code final.
Avec la fonction "replace", tu auras la correspondance entre alphabet et codes sans pouvoir te tromper car : - il n'y aura pas de caractères "solitaires" pouvant appartenir à plusieurs codes de lettres - il n'y aura pas d'inversion possible de chaînes puisqu'elles commencent obligatoirement par une lettre et se finissent par un chiffre. Pour reprendre T8L4N9, on ne pourra pas avoir de code 8L ou 4N, donc impossible de mal décoder la chaîne.
Cependant des logiciels de cryptographie trouveront facilement la clé de ton code. Il suffit de repérer les occurrences les plus fréquentes pour identifier les A, E, R, T, S...
Pour compliquer le code, et comme tu as 260 combinaisons possibles, tu peux utiliser plusieurs combinaisons pour le même caractère : A = L4 ou E6 ou A9 B = T8 ou Z3 C = N9 ou J0 ou M7 D = S1 ou V4 ou E1 E = Q0 ou R4 ou D3 ou I6 F = M1 ou Y8
Ainsi pour écrire BAFFEE on aura plusieurs possibilités pour chaque caractère ! Cela complique le décodage : T8 A9 Y8 M1 Q0 D3 Z3 L4 M1 Y8 R4 I6 codes différents et pourtant le même mot ! Plus la lettre est fréquente dans notre vocabulaire, plus tu dois mettre de codes différents pour cette lettre. |
| | | eeepc-linux Accro
Nombre de messages : 209 Loisirs : Internet, Linux, graphique, E-anim Date d'inscription : 20/07/2009
| Sujet: Re: [Résolu] Cryptage et Decryptage Ven 08 Jan 2010, 15:30 | |
| Bonjour. Tu a raison, il faut plus de je fasse, salut = G6-N5-S4-L2-Q3 ( Au lieu d'un espace, un - ) Comme le site ici ( http://www.littlelite.net/crypto/ ). Sauf, que je veux que sa soit pas les meme caractere que lui. |
| | | eeepc-linux Accro
Nombre de messages : 209 Loisirs : Internet, Linux, graphique, E-anim Date d'inscription : 20/07/2009
| | | | Fanatik Accro
Nombre de messages : 218 Age : 27 Localisation : Paris Loisirs : Visual Basic , E-anim , PC ... Date d'inscription : 09/01/2010
| Sujet: Re: [Résolu] Cryptage et Decryptage Sam 09 Jan 2010, 22:15 | |
| Désoler de le dire mais je me sens '' cons " lol Je comprends rien a ce que vous dites L'autre il sort un texte de malade... - Code:
-
57 65 75 71 6D 75 6E 36 5B 74 61 78 66 30 27 32 70 74 72 6D 5B 32 6E 34 75 65 |
| | | eu.fred Accro
Nombre de messages : 99 Age : 62 Localisation : 59 Nord Date d'inscription : 26/12/2009
| | | | Fanatik Accro
Nombre de messages : 218 Age : 27 Localisation : Paris Loisirs : Visual Basic , E-anim , PC ... Date d'inscription : 09/01/2010
| | | | eeepc-linux Accro
Nombre de messages : 209 Loisirs : Internet, Linux, graphique, E-anim Date d'inscription : 20/07/2009
| | | | Fanatik Accro
Nombre de messages : 218 Age : 27 Localisation : Paris Loisirs : Visual Basic , E-anim , PC ... Date d'inscription : 09/01/2010
| | | | Fanatik Accro
Nombre de messages : 218 Age : 27 Localisation : Paris Loisirs : Visual Basic , E-anim , PC ... Date d'inscription : 09/01/2010
| | | | Invité Invité
| Sujet: Re: [Résolu] Cryptage et Decryptage Dim 10 Jan 2010, 16:59 | |
| Encoder sa marche mais décoder sa ne marche pas.. peut importe, voici l'code: - Code:
-
var encoder = function(str){ var temp = []; var chercher = "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".split("-"); var remplacer = "03-10-01-13-31-30-04-40-44-14-41-34-43-05-50-55-15-51-35-53-45-54-55-06-60-66-36-63".split("-"); var str_cut = str.split(""); for(var j=0; j<str_cut.length; j++){ for(var i=0; i<chercher.length; i++){ if(str_cut[j]==chercher[i]){ temp.push(remplacer[i]); } } } return temp.join("-"); }; var decoder = function(str){ var temp = []; var remplacer = "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".split("-"); var chercher = "03-10-01-13-31-30-04-40-44-14-41-34-43-05-50-55-15-51-35-53-45-54-55-06-60-66-36-63".split("-"); var str_cut = str.split(""); for(var j=0; j<str_cut.length; j++){ for(var i=0; i<chercher.length; i++){ if(str_cut[j]==chercher[i]){ temp.push(remplacer[i]); } } } return temp.join("-"); };
|
| | | Fanatik Accro
Nombre de messages : 218 Age : 27 Localisation : Paris Loisirs : Visual Basic , E-anim , PC ... Date d'inscription : 09/01/2010
| | | | eeepc-linux Accro
Nombre de messages : 209 Loisirs : Internet, Linux, graphique, E-anim Date d'inscription : 20/07/2009
| Sujet: Re: [Résolu] Cryptage et Decryptage Lun 11 Jan 2010, 20:05 | |
| Pour le decodage, si on fais l'inverse, sa marche pas ? Au lieu de:
a-b... 03-10...
Devient
03-10... a-b...
Le code pour le mettre en php, sait pas le même ? |
| | | Contenu sponsorisé
| | | | |
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |
|