Comunidad de diseño web y desarrollo en internet online

criptalab crypt

Citar            
MensajeEscrito el 11 Jun 2012 01:44 pm
una manera facil de hacer una funcion hash, el problema es que no es sensible a las mayusculas minusculas, no las diferencia.

Código :

function cryptalab(_str010:String,_v:uint):String{
var str011:String='visitar cristalab es una buena forma para aprender';
var str01:String=_str010 + str011;
var n1=str01.length;
var ar01:Array=['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'];
var str02='';
var n2:uint=0;
for(var v:uint=0;v<n1;v++){n2=n2+(v*(str01.charCodeAt(v)));}
var n3:String=n2.toString(10);var n4:uint=n3.length;
trace (uint(n3.charAt(2)));
var k:uint=0;
var f:uint=0;
for(var t:uint=0;t<_v;t++){
   if(k>n4){k=0;}else{}
   if(f>n1){f=0;}else{}
   var r:uint=(((uint(n3.charAt(k)))*str01.charCodeAt(f))+(n2))%16;
   str02=str02 + ar01[r];
   k++;f++;   
}return str02;
}
trace(cryptalab('Hola',64));
trace(cryptalab('hola',64));

alguna idea de como hacerlas sensitivecase??

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 11 Jun 2012 02:21 pm
al fin ya lo solucione el tema es que la diferencia entre h i H en decimales es exactamente 32 multiplo de 16 y me daba exactamente el mismo resultado, ahora si que funciona mas dispersadamente con un nuevo if(){}

Código :

function cryptalab(_str010:String,_v:uint):String{
var str011:String='visitar cristalab es una buena forma para aprender';
var str01:String=_str010 + str011;
var n1=str01.length;
var ar01:Array=['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'];
var str02='';
var n2:uint=0;
for(var v:uint=0;v<n1;v++){n2=n2+(v*(str01.charCodeAt(v)));}
var n3:String=n2.toString(10);var n4:uint=n3.length;
var k:uint=0;
var f:uint=0;
for(var t:uint=0;t<_v;t++){
   var d:uint=str01.charCodeAt(f);
   if(k>n4){k=0;}else{}
   if(f>n1){f=0;}else{}
   if(d>90){d=d+1;}else{}
   
   var r:uint=(((uint(n3.charAt(k)))*(d))+(n2)+(d))%16;
   str02=str02 + ar01[r];
   k++;f++;   
}return str02;
}
trace(cryptalab('hola',64));
trace(cryptalab('Hola',64));

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 11 Jun 2012 03:18 pm
aki teneis el correcto, ya que -->

Código :

function cryptalab(_str010:String,_v:uint):String{
var str011:String='visitar cristalab es una buena forma para aprender';
var str01:String=str011 + _str010;
var n1=str01.length;
var ar01:Array=['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'];
var str02='';
var n2:uint=0;
for(var v:uint=0;v<n1;v++){n2=n2+(v*(str01.charCodeAt(v)));}
var n3:String=n2.toString(10);var n4:uint=n3.length;
var k:uint=0;
var f:uint=0;
for(var t:uint=0;t<_v;t++){
   var d:uint=str01.charCodeAt(f);
   var e:uint=uint(n3.charAt(k));
   if(k>n4){k=0;}else{}
   if(f>n1){f=0;}else{}
   if(d>90){d=d+1;}else{}
   var r1=((e+d+t+f+k+n2)-((e+d+t+f+k+n2)%16))/16;
   //var r:uint=(((e+1)*(d-2))+(n2+1)+(d*t)+(e-1))%16;
   //trace (r1);
   var r:uint=(e+d+t+f+k+n2+r1)%16;
   str02=str02 + ar01[r];
   k++;f++;   
}return str02;
}
trace(cryptalab('holaa',64));

str011 es importante que este primero ya que es el que da la variabilidad si ponemos antes str010 no nos da tanta variabilidad, cuanto mayor sea str011 mas variabilidad dara.
No solo me daba errores de codigo similares en cadenas con mayusculas minusculas, sino todos los que eran multiplos de 16 posiciones mas arriba o mas abajo

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 11 Jun 2012 03:23 pm
Ahora da codigo disperso tanto para string cortos como largos

Código :

function cryptalab(_str010:String,_v:uint):String{
var str011:String='visitar cristalab es una buena forma para aprender';
var str01:String=str011 + _str010;
var n1=str01.length;
var ar01:Array=['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'];
var str02='';
var n2:uint=0;
for(var v:uint=0;v<n1;v++){n2=n2+(v*(str01.charCodeAt(v)));}
var n3:String=n2.toString(10);var n4:uint=n3.length;
var k:uint=0;
var f:uint=0;
for(var t:uint=0;t<_v;t++){
   var d:uint=str01.charCodeAt(f);
   var e:uint=uint(n3.charAt(k));
   if(k>n4){k=0;}else{}
   if(f>n1){f=0;}else{}
   if(d>90){d=d+1;}else{}
   var r1=((e+d+t+f+k+n2)-((e+d+t+f+k+n2)%16))/16;
   var r:uint=(e+d+t+f+k+n2+r1)%16;
   str02=str02 + ar01[r];
   k++;f++;   
}return str02;
}
trace(cryptalab('n',64));

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.