public void TestNullDecryption() { bool isExpectedException = false; string dec = ""; ThreadPool.QueueUserWorkItem((s) => { PubnubCrypto pc = new PubnubCrypto("enigma"); //deserialized string string strMessage = null; try { //decrypt dec = pc.decrypt(strMessage); } catch (ArgumentNullException ane) { isExpectedException = true; } Deployment.Current.Dispatcher.BeginInvoke(() => { //Assert.AreEqual("", dec); Assert.IsTrue(isExpectedException); TestComplete(); }); }); }
public static void BasicEncryptionDecryptionTests() { PubnubCrypto pc = new PubnubCrypto("enigma"); string enc = pc.encrypt("Pubnub Messaging API 1"); Console.WriteLine ("Pubnub Messaging API 1 = " + enc); Console.WriteLine ("dec = " + pc.decrypt(enc)); enc = pc.encrypt("yay!"); Console.WriteLine ("yay = " + enc); Console.WriteLine ("dec = " + pc.decrypt(enc)); Console.WriteLine ("Wi24KS4pcTzvyuGOHubiXg==: = " + pc.decrypt("Wi24KS4pcTzvyuGOHubiXg==")); Console.WriteLine ("f42pIQcWZ9zbTbH8cyLwB/tdvRxjFLOYcBNMVKeHS54=: = " + pc.decrypt("f42pIQcWZ9zbTbH8cyLwB/tdvRxjFLOYcBNMVKeHS54=")); Console.WriteLine ("f42pIQcWZ9zbTbH8cyLwByD/GsviOE0vcREIEVPARR0=: = " + pc.decrypt("f42pIQcWZ9zbTbH8cyLwByD/GsviOE0vcREIEVPARR0=")); Console.WriteLine ("zMqH/RTPlC8yrAZ2UhpEgLKUVzkMI2cikiaVg30AyUu7B6J0FLqCazRzDOmrsFsF = " + pc.decrypt("zMqH/RTPlC8yrAZ2UhpEgLKUVzkMI2cikiaVg30AyUu7B6J0FLqCazRzDOmrsFsF")); Console.WriteLine ("GsvkCYZoYylL5a7/DKhysDjNbwn+BtBtHj2CvzC4Y4g= = " + pc.decrypt("GsvkCYZoYylL5a7/DKhysDjNbwn+BtBtHj2CvzC4Y4g=")); Console.WriteLine ("IDjZE9BHSjcX67RddfCYYg== = " + pc.decrypt("IDjZE9BHSjcX67RddfCYYg==")); Console.WriteLine ("Ns4TB41JjT2NCXaGLWSPAQ== = " + pc.decrypt("Ns4TB41JjT2NCXaGLWSPAQ==")); Console.WriteLine ("+BY5/miAA8aeuhVl4d13Kg== = " + pc.decrypt("+BY5/miAA8aeuhVl4d13Kg==")); Console.WriteLine ("Zbr7pEF/GFGKj1rOstp0tWzA4nwJXEfj+ezLtAr8qqE= = " + pc.decrypt("Zbr7pEF/GFGKj1rOstp0tWzA4nwJXEfj+ezLtAr8qqE=")); Console.WriteLine ("q/xJqqN6qbiZMXYmiQC1Fw==: = " + pc.decrypt("q/xJqqN6qbiZMXYmiQC1Fw==")); }
public void TestYayDecryptionBasic() { PubnubCrypto pc = new PubnubCrypto("enigma"); string strMessage = "q/xJqqN6qbiZMXYmiQC1Fw=="; //decrypt string dec = pc.decrypt(strMessage); //deserialize again Assert.AreEqual("yay!", dec); }
public void TestNullEncryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); //serialized string string strMessage = null; //encrypt string enc = pc.encrypt(strMessage); }
public void TestNullDecryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); //deserialized string string strMessage = null; //decrypt string dec = pc.decrypt(strMessage); Assert.AreEqual("", dec); }
public void TestYayEncryptionBasic () { PubnubCrypto pc = new PubnubCrypto("enigma"); //deserialized string string strMessage= "yay!"; //pubnub.publish(channel, strMessage, Common.DisplayReturnMessage); //Encrypt string enc = pc.encrypt(strMessage); Assert.True(("q/xJqqN6qbiZMXYmiQC1Fw==").Equals(enc)); }
public void TestGermanCharsDecryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); string strMessage = "stpgsG1DZZxb44J7mFNSzg=="; JavaScriptSerializer js = new JavaScriptSerializer(); //decrypt string dec = pc.decrypt(strMessage); //deserialize strMessage = js.Deserialize<string>(dec); Assert.AreEqual("ÜÖ", strMessage); }
public void TestArrayEncryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); //create an empty array object object[] objArr = { }; //serialize JavaScriptSerializer js = new JavaScriptSerializer(); string strArr = js.Serialize(objArr); //Encrypt string enc = pc.encrypt(strArr); Assert.AreEqual("Ns4TB41JjT2NCXaGLWSPAQ==", enc); }
public void TestArrayDecryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); //Input the deserialized string string strMessage = "Ns4TB41JjT2NCXaGLWSPAQ=="; //decrypt string dec = pc.decrypt(strMessage); //create a serialized object object[] objArr = { }; JavaScriptSerializer js = new JavaScriptSerializer(); string res = js.Serialize(objArr); //compare the serialized object and the return of the Decrypt method Assert.AreEqual(res, dec); }
public void TestYayDecryption () { PubnubCrypto pc = new PubnubCrypto("enigma"); //string strMessage= "\"q/xJqqN6qbiZMXYmiQC1Fw==\""; //Non deserialized string string strMessage= "\"Wi24KS4pcTzvyuGOHubiXg==\""; //Deserialize //JavaScriptSerializer js = new JavaScriptSerializer(); strMessage= JsonConvert.DeserializeObject<string>(strMessage); //decrypt string dec = pc.decrypt(strMessage); //deserialize again strMessage= JsonConvert.DeserializeObject<string>(dec); Assert.True(("yay!" ).Equals( strMessage)); }
public void TestMyObjectDecryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); //Deserialized string strMessage = "Zbr7pEF/GFGKj1rOstp0tWzA4nwJXEfj+ezLtAr8qqE="; //Decrypt string dec = pc.decrypt(strMessage); //create an object of the custom class CustomClass cc = new CustomClass(); JavaScriptSerializer js = new JavaScriptSerializer(); //Serialize it string res = js.Serialize(cc); Assert.AreEqual(res, dec); }
/** * Publish * * Send a message to a channel * * @param String channel name. * @param List<object> info. * @return bool false on fail */ public bool publish(string channel, object message) { if (this.PUBLISH_KEY.Length == 0) { return(false); } // Generate String to Sign string signature = "0"; if (this.SECRET_KEY.Length > 0) { StringBuilder string_to_sign = new StringBuilder(); string_to_sign .Append(this.PUBLISH_KEY) .Append('/') .Append(this.SUBSCRIBE_KEY) .Append('/') .Append(this.SECRET_KEY) .Append('/') .Append(channel) .Append('/') .Append(SerializeToJsonString(message)); // 1 ; // Sign Message signature = md5(string_to_sign.ToString()); } string message_org = message.ToString(); if (this.CIPHER_KEY.Length > 0) { PubnubCrypto aes = new PubnubCrypto(this.CIPHER_KEY); message = aes.encrypt(message_org); } // Build URL List <string> url = new List <string>(); url.Add("publish"); url.Add(this.PUBLISH_KEY); url.Add(this.SUBSCRIBE_KEY); url.Add(signature); url.Add(channel); url.Add("0"); url.Add(SerializeToJsonString(message)); return(_request(url, ResponseType.Publish)); }
public void TestYayDecryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); //string strMessage= "\"q/xJqqN6qbiZMXYmiQC1Fw==\""; //Non deserialized string string strMessage = "\"Wi24KS4pcTzvyuGOHubiXg==\""; //Deserialize JavaScriptSerializer js = new JavaScriptSerializer(); strMessage = js.Deserialize <string>(strMessage); //decrypt string dec = pc.decrypt(strMessage); //deserialize again strMessage = js.Deserialize <string>(dec); Assert.AreEqual("yay!", strMessage); }
public void TestYayEncryption () { PubnubCrypto pc = new PubnubCrypto("enigma"); //deserialized string string strMessage= "yay!"; //serialize the string //JavaScriptSerializer js = new JavaScriptSerializer(); strMessage= JsonConvert.SerializeObject(strMessage); Console.WriteLine(strMessage); //Encrypt string enc = pc.encrypt(strMessage); Assert.True(("Wi24KS4pcTzvyuGOHubiXg==" ).Equals( enc)); /*PubnubCrypto pc = new PubnubCrypto("enigma"); string strMessage= "yay!"; JavaScriptSerializer js = new JavaScriptSerializer(); strMessage= js.Serialize(strMessage); string enc = pc.encrypt(strMessage);*/ //Assert.AreEqual("q/xJqqN6qbiZMXYmiQC1Fw==", enc); }
public void TestStuffCanEncryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); //input serialized string string strMessage = "{\"this stuff\":{\"can get\":\"complicated!\"}}"; //encrypt string enc = pc.encrypt(strMessage); Assert.AreEqual("zMqH/RTPlC8yrAZ2UhpEgLKUVzkMI2cikiaVg30AyUu7B6J0FLqCazRzDOmrsFsF", enc); }
public void TestPubNubEncryption2() { PubnubCrypto pc = new PubnubCrypto("enigma"); //Deserialized string strMessage = "Pubnub Messaging API 2"; //serialize the message JavaScriptSerializer js = new JavaScriptSerializer(); strMessage = js.Serialize(strMessage); //encrypt string enc = pc.encrypt(strMessage); Assert.AreEqual("f42pIQcWZ9zbTbH8cyLwB/tdvRxjFLOYcBNMVKeHS54=", enc); }
public void TestPubNubEncryption1() { PubnubCrypto pc = new PubnubCrypto("enigma"); //non serialized string string strMessage = "Pubnub Messaging API 1"; //serialize JavaScriptSerializer js = new JavaScriptSerializer(); strMessage = js.Serialize(strMessage); //encrypt string enc = pc.encrypt(strMessage); Assert.AreEqual("f42pIQcWZ9zbTbH8cyLwByD/GsviOE0vcREIEVPARR0=", enc); }
public void TestPubNubDecryption1() { PubnubCrypto pc = new PubnubCrypto("enigma"); //deserialized string string strMessage = "f42pIQcWZ9zbTbH8cyLwByD/GsviOE0vcREIEVPARR0="; JavaScriptSerializer js = new JavaScriptSerializer(); //decrypt string dec = pc.decrypt(strMessage); //deserialize strMessage = js.Deserialize<string>(dec); Assert.AreEqual("Pubnub Messaging API 1", strMessage); }
public void TestPubNubDecryption2() { PubnubCrypto pc = new PubnubCrypto("enigma"); //Deserialized string string strMessage = "f42pIQcWZ9zbTbH8cyLwB/tdvRxjFLOYcBNMVKeHS54="; //Decrypt string dec = pc.decrypt(strMessage); //Deserialize JavaScriptSerializer js = new JavaScriptSerializer(); strMessage = js.Deserialize<string>(dec); Assert.AreEqual("Pubnub Messaging API 2", strMessage); }
public void TestYayEncryptionBasic() { PubnubCrypto pc = new PubnubCrypto("enigma"); //deserialized string string strMessage = "yay!"; //Encrypt string enc = pc.encrypt(strMessage); Assert.AreEqual("q/xJqqN6qbiZMXYmiQC1Fw==", enc); }
/** * Http Get Request * * @param List<string> request of URL directories. * @return List<object> from JSON response. */ private bool _request(List <string> url_components, ResponseType type) { List <object> result = new List <object>(); StringBuilder url = new StringBuilder(); // Add Origin To The Request url.Append(this.ORIGIN); // Generate URL with UTF-8 Encoding foreach (string url_bit in url_components) { url.Append("/"); url.Append(_encodeURIcomponent(url_bit)); } if (type == ResponseType.Presence || type == ResponseType.Subscribe) { url.Append("?uuid="); url.Append(this.sessionUUID); } if (type == ResponseType.DetailedHistory) { url.Append(parameters); } // Temporary fail if string too long if (url.Length > this.LIMIT) { result.Add(0); result.Add("Message Too Long."); // return result; } Uri requestUri = new Uri(url.ToString()); // Force canonical path and query string paq = requestUri.PathAndQuery; FieldInfo flagsFieldInfo = typeof(Uri).GetField("m_Flags", BindingFlags.Instance | BindingFlags.NonPublic); ulong flags = (ulong)flagsFieldInfo.GetValue(requestUri); flags &= ~((ulong)0x30); // Flags.PathNotCanonical|Flags.QueryNotCanonical flagsFieldInfo.SetValue(requestUri, flags); // Create Request HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUri); try { // Make request with the following inline Asynchronous callback IAsyncResult asyncResult = request.BeginGetResponse(new AsyncCallback((asynchronousResult) => { HttpWebRequest aRequest = (HttpWebRequest)asynchronousResult.AsyncState; HttpWebResponse aResponse = (HttpWebResponse)aRequest.EndGetResponse(asynchronousResult); using (StreamReader streamReader = new StreamReader(aResponse.GetResponseStream())) { // Deserialize the result string jsonString = streamReader.ReadToEnd(); result = DeserializeToListOfObject(jsonString); JavaScriptSerializer jS = new JavaScriptSerializer(); result = (List <object>)jS.Deserialize <List <object> >(jsonString); var resultOccupancy = jS.DeserializeObject(jsonString); if ((result.Count != 0) && (type != ResponseType.DetailedHistory)) { if (result[0] is object[]) { foreach (object message in (object[])result[0]) { this.ReturnMessage = message; } } } switch (type) { case ResponseType.Publish: result.Add(url_components[4]); Publish = result; break; case ResponseType.History: if (this.CIPHER_KEY.Length > 0) { List <object> historyDecrypted = new List <object>(); PubnubCrypto aes = new PubnubCrypto(this.CIPHER_KEY); foreach (object message in result) { historyDecrypted.Add(aes.decrypt(message.ToString())); } History = historyDecrypted; } else { History = result; } break; case ResponseType.DetailedHistory: if (this.CIPHER_KEY.Length > 0) { List <object> historyDecrypted = new List <object>(); PubnubCrypto aes = new PubnubCrypto(this.CIPHER_KEY); foreach (object message in (object[])result[0]) { historyDecrypted.Add(aes.decrypt(message.ToString())); } DetailedHistory = historyDecrypted; } else { DetailedHistory = (object[])(result[0]); } break; case ResponseType.Here_Now: Dictionary <string, object> dic = (Dictionary <string, object>)resultOccupancy; List <object> presented = new List <object>(); presented.Add(dic); Here_Now = (List <object>)presented; break; case ResponseType.Time: Time = result; break; case ResponseType.Subscribe: result.Add(url_components[2]); Subscribe = result; break; case ResponseType.Presence: result.Add(url_components[2]); Presence = result; break; default: break; } } }), request ); //asyncResult.AsyncWaitHandle.WaitOne(); return(true); } catch (System.Exception ex) { Console.WriteLine(ex.ToString()); return(false); } }
public void TestYayDecryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); //string strMessage= "\"q/xJqqN6qbiZMXYmiQC1Fw==\""; //Non deserialized string string strMessage = "\"Wi24KS4pcTzvyuGOHubiXg==\""; //Deserialize JavaScriptSerializer js = new JavaScriptSerializer(); strMessage = js.Deserialize<string>(strMessage); //decrypt string dec = pc.decrypt(strMessage); //deserialize again strMessage = js.Deserialize<string>(dec); Assert.AreEqual("yay!", strMessage); }
public void TestUnicodeCharsDecryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); string strMessage = "+BY5/miAA8aeuhVl4d13Kg=="; JavaScriptSerializer js = new JavaScriptSerializer(); //decrypt string dec = pc.decrypt(strMessage); //deserialize strMessage = js.Deserialize<string>(dec); Assert.AreEqual("漢語", strMessage); }
public void TestUnicodeCharsDecryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); string strMessage = "+BY5/miAA8aeuhVl4d13Kg=="; //decrypt string dec = pc.decrypt(strMessage); //deserialize strMessage = (dec != "**DECRYPT ERROR**") ? JsonConvert.DeserializeObject<string>(dec) : ""; Assert.AreEqual("漢語", strMessage); }
public void TestGermanCharsDecryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); string strMessage = "stpgsG1DZZxb44J7mFNSzg=="; //decrypt string dec = pc.decrypt(strMessage); //deserialize strMessage = (dec != "**DECRYPT ERROR**") ? JsonConvert.DeserializeObject<string>(dec) : ""; Assert.AreEqual("ÜÖ", strMessage); }
public void TestGermanCharsEncryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); string strMessage = "ÜÖ"; strMessage = JsonConvert.SerializeObject(strMessage); Console.WriteLine(strMessage); string enc = pc.encrypt(strMessage); Console.WriteLine(enc); Assert.AreEqual("stpgsG1DZZxb44J7mFNSzg==", enc); }
public void TestUnicodeCharsEncryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); string strMessage = "漢語"; JavaScriptSerializer js = new JavaScriptSerializer(); strMessage = js.Serialize(strMessage); Console.WriteLine(strMessage); string enc = pc.encrypt(strMessage); Console.WriteLine(enc); Assert.AreEqual("+BY5/miAA8aeuhVl4d13Kg==", enc); }
public void TestMyObjectEncryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); //create an object of the custom class CustomClass cc = new CustomClass(); //serialize it JavaScriptSerializer js = new JavaScriptSerializer(); string res = js.Serialize(cc); //encrypt it string enc = pc.encrypt(res); Assert.AreEqual("Zbr7pEF/GFGKj1rOstp0tWzA4nwJXEfj+ezLtAr8qqE=", enc); }
public void TestYayEncryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); //deserialized string string strMessage = "yay!"; //serialize the string JavaScriptSerializer js = new JavaScriptSerializer(); strMessage = js.Serialize(strMessage); Console.WriteLine(strMessage); //Encrypt string enc = pc.encrypt(strMessage); Assert.AreEqual("Wi24KS4pcTzvyuGOHubiXg==", enc); }
public void TestObjectDecryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); //Deserialized string strMessage = "IDjZE9BHSjcX67RddfCYYg=="; //Decrypt string dec = pc.decrypt(strMessage); //create an object Object obj = new Object(); //Serialize the object JavaScriptSerializer js = new JavaScriptSerializer(); string res = js.Serialize(obj); Assert.AreEqual(res, dec); }
public void TestHashEncryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); //serialized string string strMessage = "{\"foo\":{\"bar\":\"foobar\"}}"; //encrypt string enc = pc.encrypt(strMessage); Assert.AreEqual("GsvkCYZoYylL5a7/DKhysDjNbwn+BtBtHj2CvzC4Y4g=", enc); }
public void TestObjectEncryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); //create an object Object obj = new Object(); //serialize JavaScriptSerializer js = new JavaScriptSerializer(); string strObj = js.Serialize(obj); //encrypt string enc = pc.encrypt(strObj); Assert.AreEqual("IDjZE9BHSjcX67RddfCYYg==", enc); }
public void TestGermanCharsEncryption() { PubnubCrypto pc = new PubnubCrypto("enigma"); string strMessage = "ÜÖ"; JavaScriptSerializer js = new JavaScriptSerializer(); strMessage = js.Serialize(strMessage); Console.WriteLine(strMessage); string enc = pc.encrypt(strMessage); Console.WriteLine(enc); Assert.AreEqual("stpgsG1DZZxb44J7mFNSzg==", enc); }