All pastes #259689 Raw Edit

Miscellany

public text v1 · immutable
#259689 ·published 2006-11-27 18:02 UTC
rendered paste body
import java.util.ArrayList;

public class SubstCipher {

static String alphabet = "abcdefghijklmnopqrstuvwxyz";
static String lock = "tcojkiqnkmhrodqzpyyfswzlcp";
static String[] keys = {
"Actinium","Silver","Aluminium","Aluminum","Americium","Argon","Arsenic","Astatine","Gold","Boron","Barium","Beryllium","Bohrium","Bismuth","Berkelium","Bromine","Carbon","Calcium","Cadmium",
"Cerium","Californium","Chlorine","Curium","Cobalt","Chromium","Caesium","Cesium","Copper","Dubnium","Darmstadtium","Dysprosium","Erbium","Einsteinium","Europium","Fluorine","Iron",
"Fermium","Francium","Gallium","Gadolinium","Germanium","Hydrogen","Helium","Hafnium","Mercury","Holmium","Hassium","Iodine","Indium","Iridium","Potassium","Kalium","Krypton",
"Lanthanum","Lithium","Lawrencium","Lutetium","Mendelevium","Magnesium","Manganese","Molybdenum","Meitnerium","Nitrogen","Sodium","Niobium","Neodymium","Neon","Nickel",
"Nobelium","Neptunium","Oxygen","Osmium","Phosphorus","Protactinium","Lead","Palladium","Promethium","Polonium","Praseodymium","Platinum","Plutonium","Radium","Rubidium","Rhenium",
"Rutherfordium","Roentgenium","Rhodium","Radon","Ruthenium","Sulfur","Sulphur","Antimony","Scandium","Selenium","Seaborgium","Silicon","Samarium","Tin","Strontium","Tantalum","Terbium",
"Technetium","Tellurium","Thorium","Titanium","Thallium","Thulium","Uranium","Ununbium","Ununhexium","Ununoctium","Ununpentium","Ununquadium","Ununtrium","Vanadium","Tungsten",
"Xenon","Yttrium","Ytterbium","Zinc","Zirconium"
};

    public static void main(String args[]) {
				
		for ( String key: keys ) {
	 		String keystring = "";
	 		String deciphered = "";

	  		for ( char c: key.toCharArray() ) {
	 			boolean hit = false;
	 			for (int i = 0; i < keystring.length(); i++ ) {
	 				if ( c == keystring.charAt(i) )
	 					hit = true;
	 			}
	 			if ( !hit )
	 				keystring += c;
	 		}
	 		
			for ( char c: alphabet.toCharArray() ) {
	 			boolean hit = false;
	 			for (int i = 0; i < keystring.length(); i++ ) {
	 				if ( c == keystring.charAt(i) )
	 					hit = true;
	 			}
	 			if ( !hit )
	 				keystring += c;			
			}
				
	    	for ( int l = 0; l < 26; l++ )
	    		for ( int a = 0; a < 26; a++ )
	    			if ( lock.charAt(l) == alphabet.charAt(a) )
	    				deciphered += keystring.charAt(a);
	    	
	    	System.out.println("Key:\t\t\t" + key);
	    	System.out.println("Dechipered:\t\t" + deciphered + "\n");    	
	    }

    }        
}