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,189 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,189
Overall visits to all the topics: 4,979,793
Daily average (Calculated from the website subscription day): 2,065.45
Optional sorting commands:
Normal order: click here
Order by amount of visits: click here
Order by category: Programming Javascript
Current order: by category: Religion Esoterica and Spirituality
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:
The Musicians Within The Music Box And Other Hereafter Stories Identification Number: 462 Visitors: 2,717 Jiri Langer: Le Nove Porte. Citazioni Preferite In Italiano. Identification Number: 430 Visitors: 8,518 101 Storie Zen E La Porta Senza Porta E Qualcosa di Piu: I Miei Preferiti Identification Number: 429 Visitors: 9,989 Isaac Newton: Observations upon the Prophecies: Of the Prophetic Language Identification Number: 377 Visitors: 13,888 Linee Guida Universali Per Operatori Angelici Consegnanti Messaggi Identification Number: 375 Visitors: 13,419 Origen: Homilies On Leviticus: The Seven Remissions Of Sins Identification Number: 284 Visitors: 13,419 Joseph Campbell: The Masks Of God: Primitive Mythology. The Trickster. Identification Number: 270 Visitors: 14,072 Sutta Nipata: Culavagga: The Lesser Chapter Identification Number: 248 Visitors: 11,861 The Cloud Of Unknowing: Selected Chapters Identification Number: 238 Visitors: 10,795 Emerald Tablet Translations Identification Number: 228 Visitors: 12,675
External services
This page of this subscriber uses external services: Hide