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>