Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/04/2002, 13:31
Avatar de Aleph
Aleph
 
Fecha de Ingreso: agosto-2001
Ubicación: Kenolandia
Mensajes: 1.061
Antigüedad: 23 años, 8 meses
Puntos: 3
Re: Compartiendo script (para mejorarlo)

Código:
/* Define el metodo encriptar del objeto BBB */
function encriptar(clave,texto)
{
  // inicializa y valida la clave y el texto
  this.clave = clave;
  if (typeof(this.clave) != "string"){ alert ("La clave debe ser una cadena de caracteres"); return; }
  if (this.clave.indexOf(" ") > 0){ alert ("La clave no puede tener espacios en blanco"); return; }
  if (this.clave == null){ alert ("Debe ingresar una clave"); return; }
  this.texto = texto;
  if (typeof(this.texto) != "string"){ alert ("El texto debe ser una cadena de caracteres"); return; }
  if (this.clave.indexOf(" ") > 0){ alert ("La clave no puede tener espacios en blanco"); return; }
  if (this.clave == null){ alert ("Debe ingresar una clave"); return; }

  // convierte a minusculas (limitacion de esta version)
  this.texto = this.texto.toLowerCase();
  this.clave = this.clave.toLowerCase();

  // crea array con cada letra del texto
  var letras = new Array();
  for (x = 0; x < texto.length; x++)
  {
    letras[x] = texto.charAt(x);
  }

  // crea array con cada letra de la clave
  var pass = new Array();
  for (x = 0; x < clave.length; x++)
  {
    pass[x] = clave.charAt(x);
  }

  var z = 0;  // contador para la clave

  this.encript = ""; // quita el texto anterior

  // algoritmo de encriptacion
  for (x = 0; x < letras.length; x++)
  {
    posicion = this.alfabeto.indexOf(letras[x]);
    indice = this.alfabeto.indexOf(pass[z]);
    cript = posicion + indice;
    if (cript > (this.alfabeto.length-1))
    {
      cript = cript - (this.alfabeto.length);  
    }
	this.encript += this.abc[cript];
    if (z < (pass.length-1))
    {
      z += 1;
    }
    else
    {
      z = 0;
    }
  }
  
  return this.encript;
}
<div align="right">Guerrillero del ERF</div>