Script PHP + Javascript pour faire du cryptage

WRInaute accro
Bonjour,

Je cherche depuis un long moment des scripts qui sont assé efficace pour crypté un mot de passe lors d'un transit. Certe beaucoup d'entre vous me dirons qu'il y a ssl ou ssh...Ou alors certain me parlerons de md5 ou sha1 ou autre...
Mais ce que je souhaite c'est une méthode de cryptage en javascript sur un mot de passe avec une clé, et décryptage en PHP.

Je suis certain que la plupart d'entre vous on déjà cherché et certain on peut être trouvé. Je demande à ces personnes si elle le veulent bien, leur aide...
Merci.
Thierry
 
WRInaute passionné
DSL thierry8.
Mon post va te paraitre inutile,
J'ai mis longtemps a trouver un script pour faire ce que tu demande.
J'ai adapter un script trouver sur google.
Je suis dsl de ne pas partager le script mais si je devoile mon systeme de crypte il ne serai plus efficace.
Tu peux en trouver sur GOOGLE c'est sur j'ai trouvé.
Une petite aide c'etais une page en anglais.
Lol
Bon aller bon courage quand meme
 
WRInaute occasionnel
on peut bien partager les alogorithmes de cryptage ! c'est la clef qui compte ! je ne comprend pas pourquoi l'on pense qu'on doit avoir un script personnalisé?
 
WRInaute accro
Oui c'est vrai ! Borower, tu peux très bien partagé ton cryptage étant donné que la sécurité réside dans la clef....
M'enfin si tu veux le garder pour toi ! pas cool de venir sur des sites qui partage et ne pas en faire autant...
 
WRInaute passionné
Ba en faite c'est pas tous a fait ce que vous chercher.
J'ai compris apres ce que vous vouliez reellement.
La je ne peux pas vous aidez je n'ai pas ce que vous voulez.
 
WRInaute accro
Tu peux chiffrer le mot de passe en Javascript.
Tu stockes le mdp en md5 dans ta bdd.
Et tu compares les deux md5 au login.
Ca t'évite de devoir redévelopper un truc.
 
WRInaute passionné
Et bien c'est pas du tous ce que j'avais compris.
DSL thierry8
J'espere que tu trouveras ce que tu cherche
 
WRInaute occasionnel
J'ai fait un javascript qui crypte en md5 avant envoi, mais il est incompatible sur macintosh. Si quelqu'un peut me le débugger, je n'ai pas de mac (désolé, j'ai dû réduire sa taille pour optimiser la b.p.). Ca doit correspondre à ce que tu cherches thierry8
Code:
function md5(s){
	var x=Array();var m=(1<<8)-1;var len=s.length*8;
	for(var i=0;i<s.length*8;i+=8)x[i>>5]|=(s.charCodeAt(i/8)&m)<<(i%32);
	x[len>>5]|=0x80<<((len)%32);x[(((len+64)>>>9)<<4)+14]=len;
	var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;
	for(var i=0;i<x.length;i+=16)
	{
		var AA=a;var BB=b;var CC=c;var DD=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,0xC1BDCEEE);
		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,0xA8304613);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,0x8B44F7AF);c=ff(c,d,a,b,x[i+10],17,-42063);b=ff(b,c,d,a,x[i+11],22,0x895CD7BE);
		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,0xA679438E);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,0xC040B340);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,0xC33707D6);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,0xA9E3E905);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,0x8D2A4C8A);
		a=hh(a,b,c,d,x[i+5],4,-378558);d=hh(d,a,b,c,x[i+8],11,0x8771F681);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,0xA4BEEA44);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,0xBEBFBC70);
		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,0xAB9423A7);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,0x8F0CCC92);c=ii(c,d,a,b,x[i+10],15,-1051523);b=ii(b,c,d,a,x[i+1],21,0x85845DD1);
		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,0xA3014314);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,0xBD3AF235);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,AA);b=add(b,BB);c=add(c,CC);d=add(d,DD);
	}
	var k=Array(a,b,c,d);var h="0123456789abcdef";var str="";
	for(var i=0;i<k.length*4;i++)str+=h.charAt((k[i>>2]>>((i%4)*8+4))& 0xF)+h.charAt((k[i>>2]>>((i%4)*8))& 0xF);
	return str;
}
function rol(n,c){return(n<<c)|(n>>>(32-c))}
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)}
function add(x,y){var l=(x & 0xFFFF)+(y & 0xFFFF);var m=(x>>16)+(y>>16)+(l>>16);return(m<<16)|(l & 0xFFFF)}
.
 
WRInaute occasionnel
Ou est l'interet d'un tel bidule?
Si une personne sniffe votre paquet :lol: elle recupere votre mot de passe (en clair ou en crypté peu importe) et vous le renvoie de meme (en clair ou en crypté) si vous voulez securiser vos mots de passe passer par SSL
 
WRInaute occasionnel
La sécurité ne se limite pas à ça. Le fait de stocker les mots de passe encodés en MD5 dans la base permet de ne pas pouvoir connaître le mot de passe réel. De plus, le mot de passe est souvent utilisé pour d'autres logins (login de session, login d'autres sites...) donc une encryption réduit le risque d'utilisation en cas d'intrusion.
Le cryptage ajoute une couche de sécurité supplémentaire.
Et petit détail, comme le MD5 n'est pas bijectif, sniffer 32 octets MD5 ne permet pas de retrouver le mot de passe d'origine.
SSL est certes un très bon complément de sécurité, mais l'un n'empèche pasl'autre. Et tout webmaster ne peut pas s'acheter un certificat ou un hébergement acceptant SSL. La solution MD5 est donc une première alternative.
Cela dit, j'ai toujours des résultats erronnés avec cette fonction sur MacIntosh, si quelqu'un peut identifier la cause jelui en serais reconaissant.
 
WRInaute impliqué
Digit a dit:
Et petit détail, comme le MD5 n'est pas bijectif, sniffer 32 octets MD5 ne permet pas de retrouver le mot de passe d'origine.

Avec un petit script qui tente de le retrouver par force brute, il n'y en a pas pour très longtemps.
 
WRInaute occasionnel
A priori tu n'as jamais tenté cela. Par force brute soit tu te bases sur un dictionnaire (ce qui est le plus rapide mais sans garantie de résultat car le mot de passe peut etre absent du dico), soit tu tentes par alphabet progressif (une lettre, puis deux etc...). Tu en as pour longtemps si le mot de passe fait plus de 7 lettres et qu'il mélange chiffres et lettres.

Merci ecocentric pour le lien
 
WRInaute accro
Sur ce lien:
http://www.tero.co.uk/des/code.php

Il y a un javascript et un php pour le cryptage des...
le seul problème est que j'arrive à crypter avec le php et le javascript ! mais pas à récupérer lorsque je crypt en javascript et le décrypter en php !

Si quelqu'un y arrive je lui en serais réellement reconnaissant !!!!
Merci
 
WRInaute occasionnel
J'ai toujours pas compris l'interet de crypter un mot sur le client!
Sur le serveur en md5 oki mais sur le client?

Qu'est ce que ca change d'envoyer un mdp crypté ou non crypté sur une ligne non sécurisée? Ca revient au meme!

Ainsi si j'envoie mon mdp en clair j'envoie POMME sur le net
Si je crypte j'envoie md5(POMME) ce qui va donner qqchse comme "ffdmllsfdnhkmlsnfhmld".

Apres qq1 qui veut se faire passer pour moi utilisera dans le premier cas POMME et dans le second cas "ffdmllsfdnhkmlsnfhmld" et meme s'il ne sait pas qu'à l'origine ca voulait dire POMME.

Ou est le niveau de sécurité suplementaire la dedans?
 
WRInaute impliqué
Digit a dit:
A priori tu n'as jamais tenté cela.

Ben si justement, pour le concours NGSEC, un script python tournant sur un P233 m'a trouvé le mot de passe md5 sur 4 caractères en moins de 4 heures alors imagine ce que ça donne sur une machine plus moderne et un soft optimisé en assembleur.
 
WRInaute discret
MD5 cracké..

Bon, le post est vieux mais je me permets de rajouter cette info pour ceux qui ne seraient pas au courant... Md5() est "quasi" cracké.. en tout cas on peut retrouver les mots de passe alpha numériques grâce aux tables arc en ciel...

http://fr.wikipedia.org/wiki/Md5
 
Nouveau WRInaute
Le poste a +8 ans mais toujours dans les premiers résultats de recherche dans Google.

Est si la connexion consiste à ne pas envoyer le password au serveur a chaque connexion mais plustôt, récupérer un message crypté de la part du serveur, grâce à votre password, decrypter le message avant de le renvoyer au serveur.

+ d'info sur github.com/chagry/CRP-Crypt
Encrypt & decrypt for PHP & jQuery
 
Discussions similaires
Haut