/** * @author - Johnny Shaieb * User Arguments: * argv[0] - Transaction Check, usually 310 for Java, RSA, Balance * or 311 for Java, RSA, Transfer. * argv[1] - Destination CID. * argv[2] - Item. Example would be 5 for money or 3 for ore. 1=saw 2=shovels 3=ore 4=wood 5=money * argv[3] - Value. 8 digit string representing value to be transfered, * or all zeros for balance. */ import java.math.BigInteger; import java.util.*; public class johnny_rsa { public static void main(String argv[]) { /* * Retrieve the values inputed by the user. * User can put values by the following syntax when executing .class file. * java RSAExample 311 1429214707 5 00000000 */ int iTransactionCheck = Integer.parseInt(argv[0]); String sDestinationCID = argv[1]; String sItem = argv[2]; String sValue = argv[3]; String sSourceCID = "8451794337"; String sReceiptType = "3"; String sEscrowType = "0"; String sLevel = "1"; /* Build the Transaction Message */ String sTransxMessage = sSourceCID + sDestinationCID + sReceiptType + sEscrowType + sLevel + sItem + sValue; /* * E stands for Public Key * D stands for Private Key * N stands for mod Value */ BigInteger biBankKey_E = new BigInteger("161113532007265779449845817508741092074398558249097177731844480326608228361549217481145150308681639771529423593722456145492549351410135940067466312286158773065813857675466722977791757622027415885866688223456453179212301141423682112805106591227107942380163831488800329867016972951386256992231814346777207865763"); BigInteger biBankKey_N = new BigInteger("24617535273242758736004224551469305993321194197746650055261616016245940885328886102538158533468440234419533271856655814845565357494702866809489848890429610527027676590043133973785034061355894789391626877870795450330812730422005260901481525006007005945048944739259005536472672993671341540952576379721823906810489528951827851766587937401961964644923385069931177057618198441242879185994624648747243344354260493443635032035631098338133214258304480264872475368906117797286984225429371567695394662904451627244225661649329259614635716987296000072738244260575912359981168550512718632897428975835294660766367187928643992187127"); BigInteger biCompanyKey_E = new BigInteger("159328851002232209320597529745318288214159983074711827745513368555239230898649318821738142989537621371216367578610261373333416709443080822880912517020226440932398534110942434650335907961186134625573814950098867516224586302788778794003753031644993968779107318415331931555200638236781627434941067993139551761723"); BigInteger biCompanyKey_D = new BigInteger("8805935132859659582349682817896019697011289121646822205122113765003450287920463568930531504396132820777863903331997262171617144838210951847374027845067943210550797272038706060526980025018708014146474587951161614945897833726021130943568997041237402569971295755298824371572369382462362060132113881082999927806184003326629185832331470670644093708303480076592451820889897555450082294256070048340182997940754022100108774275371373450063407372266414507022174829899485389016497627436716511681846687887168357061194747034483901022199083889177471836390389848279584351024982055220071151822131216087933814308909726707810293176307"); BigInteger biCompanyKey_N = new BigInteger("21077660955375014637087717520783921649683835260535941457478957812042477870020998357942433137656679444941871419240630787506586793244479795722288149115407576091029077260157307761902351241684065091337379188600690737544486197152201011097143711658124103556234816983315132787130273946422298475880722827789452175672245271403758267635296949764561528409212400447804771852894754246696428898962255441415216342826065655073775365498260978212365806786602754820373203690032153367673843518939979435877154839174303298294913135465695034727019783888527810804681941449504628487107836197541602513117501589359309952846474026294897448562693"); BigInteger biTransx = new BigInteger(sTransxMessage); BigInteger biCMessage = biTransx.modPow(biCompanyKey_D, biCompanyKey_N); BigInteger biPMessage = biCMessage.modPow(biBankKey_E, biBankKey_N); System.out.println(new ETSProxy().EcommerceTransaction(biPMessage, sSourceCID, iTransactionCheck)); } }