The Identification Number and Password fields need to be filled in. Moreover, you cannot send messages devoid of contents Adding further data is not allowed because this topic has been closed Print You provided no password: you have to write it in the textfield beside the command delete for the topic you want to delete Are you sure you want to delete this comment? You did not cast a vote. You need to cast a vote by selecting a radio button. Impossible to proceed Provide the project number Insufficient form parameters: you forgot to fill in some field/s
 
member picmember pic
 
Snippets of A
 
info Below you can find the text of the snippet you want to read, and the list of the other snippets by this author if available.
What are snippets?
Share on MySpace

Javascript Make A Tabula Recta Matrix. Crypt And Decrypt With Vigenere Cipher

Snippet: Identification Number »   Snippet: Inclusion syntax »
Visitors: 21,195 Tagged by its author as: Programming Javascript Characters (in origin): 4,296 (pages: ~ 2)
Author: Em@il Permalink Cast your vote for this topic Printable version
OBJECTIVE: make a tabula recta. Optionally use it to cipher or decipher using it as a Vigenere Table  
function vigenere(alphabet, keyword, textToCipher, decrypt){
if(typeof alphabet!="string" || !alphabet){alphabet='abcdefghijklmnopqrstuvwxyz';};
var output=[];
for(var i=0; i<alphabet.length; i++){ output[++output.length-1]=alphabet.substring(i)+alphabet.substring(0, i); }
if(typeof keyword=="string" && typeof textToCipher=="string" &&
keyword && textToCipher){
var outputText=''; keyword=keyword.split(''); textToCipher=textToCipher.split('');
	for(var t=0, k=0; t<textToCipher.length; t++, k++){
		if(k>=keyword.length){k=0;};
		var row=alphabet.indexOf( keyword[k].toLowerCase() );
		var col=textToCipher[t].toLowerCase();
		if(alphabet.indexOf(col)<0 || row<0){return false;};
		if(!decrypt){ outputText+=output[row].charAt( alphabet.indexOf(col) ); }
		else{ outputText+=alphabet.charAt( output[row].indexOf(col) ); };
	}
return outputText;
}
return output;
/*keep this comment to reuse freely
http://www.fullposter.com/?1 */}
Remove colors  
INPUTS: first input a String. If passed as an empty string, defaults to a standard alphabet exclusive of white space char.  
If you want to pass an alphabet yourself you have to follow these rules: only lowercase chars, no duplicates present. The alphabet may include also numbers and punctuations if you prefer so.  
If you want the function not to be case insensitive, just remove from the codes all the strings .toLowerCase() and include in the alphabet both the uppercase and lowercase versions of any char.  
 
Second input a String. If you pass it, the function instead of returning a tabula recta will return a string. If passed, this string must be the keyword you want to use to produce the cipher. To know what it means please be sure you know how a Vigenere Table works.  
If passed, any char present in this string must be present in the alphabet too.  
 
Third input a String. If you pass it, the function instead of returning a tabula recta will return a string. If passed, this string must be the plain text you want to use to cipher. To know what it means please be sure you know how a Vigenere Table works.  
If passed, any char present in this string must be present in the alphabet too.  
 
Last input if zero, the function encrypts. If number 1, it decrypts.  
In both cases the second argument is the keyword. The third argument instead, if you want to crypt, must be the plain text, or must be the cipher if you want to decrypt.  
Encryption and decryption work correctly only if you are using the same tabula recta.  
 
RETURNS: array of strings if no argument or only one argument is present, otherwise a string.  
If the inputs are wrong or the chars present in either of the second and third argument (if present) cannot be found in the alphabet, it returns boolean false.  
 
CAVEATS: please refer to the previous inputs description.  
Vigenere tables are a cipher that can be broken by cryptoanalysis (Kasiski examination * and Babbage * ).  
Shuffling the rows may increase cipher safety.  
Using a one time pad may make the cipher truly safe.  
 
Never use as keyword a one string long keyword whose unique char is the first one present in the alphabet: that ciphers the plain text as plain text.  
 
By default the alphabet does not include an empty space as a char. If your input text to cipher/decipher is inclusive of white spaces, you must include one white space also in the input alphabet (either directly in the code, or passing your alphabet of choice as the function first argument).  
 
Example:  
alert( vigenere().join("\n") );
alert( vigenere('', 'lemonlemonle', 'attackatdawn', 0) );
alert( vigenere('', 'lemonlemonle', 'lxfopvefrnhr', 1) );
Remove colors
Printable version To exclude hyperlinks from the print, check the checkbox »
Rss

Cast your vote for this topic

To perform this operation it is not necessary to be Full Poster members.
«Negative Positive»
Click here to save your vote (Current average: 0.00, Voters: 0)
Are you the author of this topic and do you want to append quickly more text? click here
Other topics
This subscriber has a blog too: Read the blog: 57 Shoutbox: 103 reviews: 153
Visitors: 21,195
Overall visits to all the topics: 4,981,129
Daily average (Calculated from the website subscription day): 2,065.14
Optional sorting commands:
Normal order: click here
Order by amount of visits: click here
Order by category: Programming Javascript
Current order: by category: Poetry
Other categories available for this author (Limited data report: 100):
Advice: Martial Arts and Self Defense(4), Books(236), Critical Reviews and Essays(4), Dictionaries(1), Emergency Care(4), Epistles Letters and Advice(5), Fantasy Epics and Fables(1), History and Documents(5), Humor and Jokes(2), Methematics(2), Music and Lyrics(6), News Digests and Press Reviews(1), Novels Poetry and Stories(3), Philosophy Reviews(7), Poetry(1), Programming(4), Programming Ajax(2), Programming Javascript(82), Programming Php(52), Psychology(1), Quotes(1), Religion Esoterica and Spirituality(12), Scientifical Reviews(4), Self Improvement(1), Sport Activities and Apparels(2), Tarots(1)
Showing topics: 1, 10
Available total: 448
View only a list of the snippets by this author: click here.
Other topics available for this author: click on any title below to view the complete item:
Poesie Del Disinganno Identification Number: 435 Visitors: 7,584
External services
This page of this subscriber uses external services: Hide