Question: Vigenere Cipher - Could you convert this from java to mips (mars) assembly language? //--------------------------------------------------------------------------- function MSG(s) { var o = FIND(msg); o.innerHTML = s;
Vigenere Cipher - Could you convert this from java to mips (mars) assembly language?
| //--------------------------------------------------------------------------- | ||||||||||||||
| function MSG(s) | ||||||||||||||
| { | ||||||||||||||
| var o = FIND("msg"); | ||||||||||||||
| o.innerHTML = s; | ||||||||||||||
| } | ||||||||||||||
| var tcount = 0; | ||||||||||||||
| function test(v) | ||||||||||||||
| { | ||||||||||||||
| // t = Math.mod(-3,7); | ||||||||||||||
| // Notice Math mod does not work right in javascript !! CRAP | ||||||||||||||
| alert("test " + tcount++ + " " + v ); | ||||||||||||||
| } | ||||||||||||||
| //--------------------------------------------------------------------------- | ||||||||||||||
| function RandomKey() | ||||||||||||||
| { | ||||||||||||||
| len = RandomNumber(0, 10); | ||||||||||||||
| len = (len < 5) ? 5: len; | ||||||||||||||
| k = ""; | ||||||||||||||
| for (i=0; i | ||||||||||||||
| a = RandomNumber(0, 25); | ||||||||||||||
| k += String.fromCharCode(65 + a); | ||||||||||||||
| } | ||||||||||||||
| document.f1.A0.value = k; | ||||||||||||||
| } | ||||||||||||||
| //--------------------------------------------------------------------------- | ||||||||||||||
| function RemoveSpaces() | ||||||||||||||
| { | ||||||||||||||
| enc=document.f1.t2.value; | ||||||||||||||
| temp=""; | ||||||||||||||
| X=0; | ||||||||||||||
| while (X | ||||||||||||||
| if(enc.charAt(X)!=" ") temp+=(enc.charAt(X)); | ||||||||||||||
| else | ||||||||||||||
| if (enc.charAt(X)==" ") temp+=""; | ||||||||||||||
| X++; | ||||||||||||||
| } | ||||||||||||||
| document.f1.t2.value=temp.toLowerCase(); | ||||||||||||||
| } | ||||||||||||||
| //--------------------------------------------------------------------------- | ||||||||||||||
| function AddSpaces() | ||||||||||||||
| { | ||||||||||||||
| RemoveSpaces(); | ||||||||||||||
| enc=document.f1.t2.value; | ||||||||||||||
| temp1=""; | ||||||||||||||
| X=0; | ||||||||||||||
| ad=document.f1.D1.value; | ||||||||||||||
| tes=0; | ||||||||||||||
| while (X < enc.length) | ||||||||||||||
| { | ||||||||||||||
| if (tes==ad) tes=0; | ||||||||||||||
| temp1 +=(enc.charAt(X)); | ||||||||||||||
| tes++; | ||||||||||||||
| if (tes==ad) temp1+=" "; | ||||||||||||||
| X++; | ||||||||||||||
| } | ||||||||||||||
| document.f1.t2.value=temp1.toLowerCase(); | ||||||||||||||
| } | ||||||||||||||
| //--------------------------------------------------------------------------- | ||||||||||||||
| function GetKeys() | ||||||||||||||
| { | ||||||||||||||
| m = new Array; | ||||||||||||||
| a = Trim(document.f1.A0.value); | ||||||||||||||
| if ( a == "" ){ | ||||||||||||||
| MSG("Invalid key "+ a); | ||||||||||||||
| } | ||||||||||||||
| a = a.toUpperCase(); | ||||||||||||||
| document.f1.A0.value = a; | ||||||||||||||
| for (var i=0; i< a.length; i++) | ||||||||||||||
| { | ||||||||||||||
| m[i] = a.charCodeAt(i) - 65; | ||||||||||||||
| } | ||||||||||||||
| return m; | ||||||||||||||
| } | ||||||||||||||
| //--------------------------------------------------------------------------- | ||||||||||||||
| function Encode() | ||||||||||||||
| { | ||||||||||||||
| k = GetKeys(); | ||||||||||||||
| if (!k){ | ||||||||||||||
| return; | ||||||||||||||
| } | ||||||||||||||
| enc=" "+document.f1.t1.value.toUpperCase(); | ||||||||||||||
| enc=Trim(enc); | ||||||||||||||
| if(enc == "" ) | ||||||||||||||
| { | ||||||||||||||
| MSG("Enter some text to encode in 'Text to Encode' box!!"); | ||||||||||||||
| return; | ||||||||||||||
| } | ||||||||||||||
| kk = " "+document.f1.A0.value+ " "; | ||||||||||||||
| mg="Message: | ||||||||||||||
"
| ||||||||||||||
| d = ""; | ||||||||||||||
| cur = 0; | ||||||||||||||
| for( var i=0; i < enc.length; i++) | ||||||||||||||
| { | ||||||||||||||
| c = enc.charCodeAt(i); | ||||||||||||||
| if (c < 'A'.charCodeAt(0) || c > 'Z'.charCodeAt(0)){ | ||||||||||||||
| ch= enc.charAt(i); | ||||||||||||||
| d += ch; | ||||||||||||||
| } | ||||||||||||||
| else{ | ||||||||||||||
| c = c - 65; | ||||||||||||||
| t = (k[cur++ % k.length] + c) % 26; | ||||||||||||||
| d += String.fromCharCode( 65 + t); | ||||||||||||||
| } | ||||||||||||||
| } | ||||||||||||||
| d = d.toLowerCase(); | ||||||||||||||
| mg += d; | ||||||||||||||
| MSG(mg); | ||||||||||||||
| document.f1.t2.value = d; | ||||||||||||||
| } | ||||||||||||||
| //--------------------------------------------------------------------------- | ||||||||||||||
| function Decode(enc,k) | ||||||||||||||
| { | ||||||||||||||
| k1 = GetKeys(); | ||||||||||||||
| if (!k1){ | ||||||||||||||
| return; | ||||||||||||||
| } | ||||||||||||||
| k = new Array; | ||||||||||||||
| for(i=0; i < k1.length; i++){ | ||||||||||||||
| k[i] = (26-k1[i]); | ||||||||||||||
| } | ||||||||||||||
| enc= document.f1.t2.value.toUpperCase(); | ||||||||||||||
| enc=Trim(enc); | ||||||||||||||
| if(enc == "" ) | ||||||||||||||
| { | ||||||||||||||
| MSG("Enter some text to in 'Text to Encode or Decode' box!!"); | ||||||||||||||
| return; | ||||||||||||||
| } | ||||||||||||||
| kk = " "+document.f1.A0.value+ " "; | ||||||||||||||
| mg="Message: | ||||||||||||||
"
| ||||||||||||||
| d = ""; | ||||||||||||||
| cur = 0; | ||||||||||||||
| for( var i=0; i < enc.length; i++) | ||||||||||||||
| { | ||||||||||||||
| c = enc.charCodeAt(i); | ||||||||||||||
| if (c < 'A'.charCodeAt(0) || c > 'Z'.charCodeAt(0)){ | ||||||||||||||
| ch= enc.charAt(i); | ||||||||||||||
| d += ch; | ||||||||||||||
| } | ||||||||||||||
| else{ | ||||||||||||||
| c = c - 65; | ||||||||||||||
| t = (k[cur++ % k.length] + c) % 26; | ||||||||||||||
| d += String.fromCharCode( 65 + t); | ||||||||||||||
| } | ||||||||||||||
| } | ||||||||||||||
| d = d.toLowerCase(); | ||||||||||||||
| mg += d; | ||||||||||||||
| MSG(mg); | ||||||||||||||
| document.f1.t1.value = d; | ||||||||||||||
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
