public void FunkyPasswords() { Crypto c = new Crypto(); { const string source = "antonida"; string s = c.Encrypt(source); Assert.AreNotEqual(source, s); Assert.AreEqual(source, c.Decrypt(s)); } { const string source = "привет мир"; string s = c.Encrypt(source); Assert.AreNotEqual(source, s); Assert.AreEqual(source, c.Decrypt(s)); } { const string source = @">rL`Fpbgr>_1j^?];cK5U>/!fm;&736puCLZeql=b-,-}rOdeR"; string s = c.Encrypt(source); Assert.AreNotEqual(source, s); Assert.AreEqual(source, c.Decrypt(s)); } { for (int i = 0; i < 1000; i++) { string source = RandomString(Math.Min(i + 1, 50)); string s = c.Encrypt(source); Assert.AreNotEqual(source, s); Assert.AreEqual(source, c.Decrypt(s)); } } }
public void UseCustomKey() { const string S = "WqJCvfqa6JKiSXFm6t9MSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; Crypto c = new Crypto("my secret key"); string s = c.Encrypt("hello world"); Assert.AreNotEqual("hello world", s); Assert.AreEqual("hello world", c.Decrypt(s)); Assert.AreEqual("hello world", c.Decrypt(S)); }
void ReplaceOldMechanisms() { List <object> allLevels = Json.Deserialize(Crypto.Decrypt(File.ReadAllText("LevelData"))) as List <object>; string decompressedMechanismLayout = ""; string newLayout = ""; for (int i = 0; i < allLevels.Count; i++) { decompressedMechanismLayout = Crypto.Decompress((string)((Dictionary <string, object>)allLevels[i])["mechanismlayer"]); for (int j = 0; j < decompressedMechanismLayout.Length; j++) { if (decompressedMechanismLayout[j] == 'C') { newLayout += 'A'; } else if (decompressedMechanismLayout[j] == 'D') { newLayout += 'B'; } else { newLayout += decompressedMechanismLayout[j]; } } ((Dictionary <string, object>)allLevels[i])["mechanismlayer"] = Crypto.Compress(newLayout); } File.WriteAllText("LevelDataRAW", Json.Serialize(allLevels)); }
/// <summary> /// Loads settings from App.config and populates the form. /// </summary> public void LoadFromConfig() { try { string apiDocsUrl = config.Get <string>("healthchecks-api-docs"); Uri apiDocsUri; if (Uri.TryCreate(apiDocsUrl, UriKind.Absolute, out apiDocsUri)) { apiDocsLink.NavigateUri = apiDocsUri; } apiUrl.Text = config.Get <string>("healthchecks-api-url"); refreshSeconds.Text = config.Get <string>("refresh-seconds"); string salt = config.Get <string>("healthtray-salt"); if (!string.IsNullOrWhiteSpace(salt)) { apiKey.Text = Crypto.Decrypt(config.Get <string>("healthchecks-api-key"), salt); } } catch (Exception ex) when(ex is CryptographicException || ex is FormatException) { MessageBox.Show("Something went wrong decrypting your API key. :(\n\nCould you please supply a new one?\n\nThe error was: " + ex.GetType() + ": " + ex.Message, "HealthTray - Error Decrypting API Key", MessageBoxButton.OK, MessageBoxImage.Error); apiKey.Clear(); apiKey.Focus(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error loading settings", MessageBoxButton.OK, MessageBoxImage.Error); } }
public virtual IEnumerable <Alert> GetAccountAlerts(string accountNumber, int customerID) { BankContext context = new BankContext(); IEnumerable <Alert> alerts = new List <Alert>(); try { Crypto crypto = new Crypto(); accountNumber = crypto.Encrypt(accountNumber); Account account = context.CheckingAccounts.Where(c => c.accountNumber == accountNumber && c.customerID == customerID).FirstOrDefault <Account>(); if (account != null) { alerts = context.Alerts.Where(a => a.accountNumber == accountNumber).AsEnumerable <Alert>(); foreach (Alert alert in alerts) { // Decrypt the account number before returning to the UI alert.accountNumber = crypto.Decrypt(alert.accountNumber); } } } catch (Exception) { throw new Exception("Error getting the account alerts."); } return(alerts); }
public async Task <bool> AddData(accounttbl obj) { try { using (var context = new smlpobDB()) { var isExist = (from x in context.accounttbls where x.username == obj.username select x).SingleOrDefault(); if (isExist != null) { return(false); } context.accounttbls.Add(obj); await context.SaveChangesAsync(); Membership.CreateUser(obj.username, Crypto.Decrypt(obj.password), obj.username); Roles.AddUserToRole(obj.username, obj.roleName); return(true); } } catch (Exception ex) { LogHelpers.source = this.GetType().Name; LogHelpers.message = ex.InnerException.ToString(); LogHelpers.user = ""; LogHelpers.WriteLog(); } return(false); }
// DeleteUser -->GET: api/User?username=elad&passwordOrRank=123456&mod=delete //mode: delete | register public string Get(string username, string passwordOrRank, string mode, string token) { try { switch (mode) { case "delete": Server.CheckToken(token); Server.UserFacade.DeleteUser(Crypto.Decrypt(username), Crypto.Decrypt(passwordOrRank)); break; case "register": Server.UserFacade.Register(Crypto.Decrypt(username), Crypto.Decrypt(passwordOrRank)); break; default: throw new Exception("comunication error: unkown mode"); } } catch (Exception e) { return(e.Message); } return(""); }
// logout -->GET: api/User?username=elad&mode=logout //mode: logout | isloggedin public string Get(string username, string mode, string token) { try { Server.CheckToken(token); switch (mode) { case "logout": if (Server.UserFacade.Logout(Crypto.Decrypt(username))) { Server.GuidDic.Remove(token); } break; case "isloggedin": Server.UserFacade.IsUserLoggedInn(Crypto.Decrypt(username)); break; default: throw new Exception("comunication error: unkown mode"); } } catch (Exception e) { if (e.Message.Equals("you are logged in too long, please log out")) { if (Server.UserFacade.Logout(Crypto.Decrypt(username))) { Server.GuidDic.Remove(token); } } return(e.Message); } return(""); }
public static bool VerifyCheckSumByjson(string masterKey, string json, string checkSum) { CheckSum.ValidateVerifyCheckSumInput(masterKey, checkSum); try { string str1 = Crypto.Decrypt(checkSum, masterKey); if (str1 == null || str1.Length < 4) { return(false); } string str2 = str1.Substring(str1.Length - 4, 4); MessageConsole.WriteLine("Salt:::: " + str2); MessageConsole.WriteLine(); MessageConsole.WriteLine("Input CheckSum:::: " + checkSum); string str3 = json; MessageConsole.WriteLine(); MessageConsole.WriteLine("GeneratedCheckSum String:::: " + str3); string inputValue = str3 + "|" + str2; MessageConsole.WriteLine(); MessageConsole.WriteLine("GeneratedCheckSum String with Salt:::: " + inputValue); string hashedString = SecurityUtils.GetHashedString(inputValue); MessageConsole.WriteLine(); MessageConsole.WriteLine("HashedGeneratedCheckSum String:::: " + hashedString); string str4 = hashedString + str2; MessageConsole.WriteLine(); MessageConsole.WriteLine("HashedGeneratedCheckSum String with Salt:::: " + str4); return(str4.Equals(str1)); } catch (System.Exception ex) { throw new CryptoException("Exception occurred while verifying CheckSum. " + ex.Message); } }
/// <summary> /// Carrega as informações do xml /// </summary> /// <returns>Retorna o arquivo de configuração</returns> public static ConfiguracaoXml CarregarConfiguracao() { if (!Directory.Exists(Folder)) //Se o diretório não existir... { //Criamos um com o nome folder Directory.CreateDirectory(Folder); } string path = string.Format("{0}/{1}/{2}", Environment.CurrentDirectory, Folder, File); StreamReader sR = null; try { XmlSerializer serializer = new XmlSerializer(typeof(ConfiguracaoXml)); sR = new StreamReader(path); ConfiguracaoXml config = (ConfiguracaoXml)serializer.Deserialize(sR); sR.Close(); config.Senha = Crypto.Decrypt(config.Senha, Key); return(config); } catch (Exception) { if (sR != null) { sR.Close(); } ConfiguracaoXml nova = new ConfiguracaoXml(); nova.GravarConfiguracao(); return(nova); } }
public void TestNewCryptoObjectWithSaltError() { var c1 = new Crypto(); var target = "Bart is the biatch."; var crypted = c1.Encrypt(target); Assert.AreNotEqual <string>(target, crypted, "Should be different strings"); var salt = Crypto.StringToBytes(c1.SystemSalt); salt[0] = (byte)~salt[0]; var key = Crypto.StringToBytes(c1.Key); var iv = Crypto.StringToBytes(c1.IV); var c2 = new Crypto(key, iv, salt); var actual = c2.Decrypt(crypted); Assert.IsNull(actual, "Should be NULL with a bad Salt."); salt[0] = (byte)~salt[0]; var c3 = new Crypto(key, iv, salt); actual = c3.Decrypt(crypted); Assert.AreEqual <string>(target, actual, "Should be equal again"); }
public bool IsAuthenticated(string domain, string username, SecureString EncryptedPass, string Key) { string domainUser = domain + @"\" + username; DirectoryEntry entry = new DirectoryEntry(this._path, domainUser, Crypto.Decrypt(EncryptedPass, Key, Algorithm.Rijndael)); try { object obj = entry.NativeObject; DirectorySearcher search = new DirectorySearcher(entry); search.Filter = "(SAMAccountName=" + username + ")"; search.PropertiesToLoad.Add("cn"); SearchResult result = search.FindOne(); if (null == result) { return(false); } this._path = result.Path; this._filterAttribute = (string)result.Properties["cn"][0]; } catch (Exception ex) { throw new Exception("Error authenticating user. " + ex.Message); } return(true); }
public void TestsUserAccounts_Security_Encrypt_Decrypt() { var code = Crypto.Encrypt("rubbish"); var dec = Crypto.Decrypt(code); Assert.IsTrue("rubbish" == dec); }
private string Decrypt(DecryptCommand command) { string rtn = string.Empty; Bitmap bmp = null; var tokens = Token.Tokens(); byte[] imageBytes = Convert.FromBase64String(command.EncryptedPicture); using (MemoryStream memoryStream = new MemoryStream(imageBytes)) { memoryStream.Position = 0; bmp = (Bitmap)Bitmap.FromStream(memoryStream); } if (bmp != null) { rtn = tokens.ReplaceTokens( Obfuscation.Unobfuscate( Zip.Decompress( Convert.FromBase64String( Crypto.Decrypt( Zip.Decompress( Convert.FromBase64String( Brilliance.Decompress(bmp)))))))); } return(rtn); }
public bool CheckCookies() { HttpCookie cookie = Request.Cookies["User"]; if (cookie != null) { string InputEnc = Request.Cookies["User"]["Enc"]; string ouputEnc = Crypto.Decrypt(InputEnc.ToString()); string[] Key = ouputEnc.Split(new string[] { "||" }, StringSplitOptions.None); string KeyId = Key[0]; string KeyAuth = Key[1]; int Usercount = _context.Users.Where(c => c.UserId.ToString() == KeyId && c.AuthKey.ToString() == KeyAuth).Count(); if (Usercount == 1) { var user = _context.Users.Single(c => c.UserId.ToString() == KeyId); ViewData["Id"] = user.UserId; ViewData["FirstName"] = user.FirstName; ViewData["LastName"] = user.LastName; ViewData["FullName"] = user.FirstName + " " + user.LastName; ViewData["Email"] = user.Email; ViewData["Role"] = user.AspRoleId.ToString(); ViewData["Level"] = user.AspStudentLvlId.ToString(); ViewData["Key"] = InputEnc; return(true); } else { return(false); } } else { return(false); } }
public void Should_encrypt_and_decrypt_object() { var encryptedOject = _crypto.Encrypt("ohh hai"); var decryptedObject = _crypto.Decrypt(encryptedOject); decryptedObject.Should().BeEquivalentTo("ohh hai"); }
public ActionResult AccountVerification_POST(string p) { ViewBag.EncryptedEmail = p; if (!string.IsNullOrEmpty(p)) { string Email = Crypto.Decrypt(p); string ValidationKey = null; User userDetail = db.Users.FirstOrDefault(x => x.Email == Email && x.IsEmailVerified != true && x.IsActive != true); MailSender sendVarificationEmail = new Common.MailSender(); Random randonNumberValidation = new Random(655); if (userDetail != null) { if (!string.IsNullOrEmpty(userDetail.ValidationKey)) { ValidationKey = userDetail.ValidationKey; } else { ValidationKey = Guid.NewGuid() + DateTime.Now.ToString("ddmmyyhhmmss") + db.Users.Count() + Guid.NewGuid() + randonNumberValidation.Next(5659, 656588); userDetail.ValidationKey = ValidationKey; db.SaveChanges(); } string Message = string.Format(@"Hi! <br /> <br /> Your ooladata.com account has been created. <br /> <br/ > Please Click on following link to confirm your account<br /> <br > <a href='{1}'>Confirm email address</a> {2}", "", "http://ooladata.com/Account/Verify?u=" + ValidationKey, "<br /><br /> Thanks, <br /> OolaData Team"); sendVarificationEmail.SendEmail("OolaData Account Verification", Email, Message); TempData["Msg"] = "A verification email has been send to your email <b>" + Email + "</b> <br/> Please Check your email to Verify account. Thanks!"; return(View()); } } return(HttpNotFound()); }
internal static async Task <bool> Verify(string token, string hostName) { httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // IConfigurationSection config = Startup.Configuration.GetSection("hcb"); // string secret = config.GetValue<string>("reCaptchaSecret"); string secret = Environment.GetEnvironmentVariable("hcb:reCaptchaSecret"); FormUrlEncodedContent formContent = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("secret", Crypto.Decrypt(secret)), new KeyValuePair <string, string>("response", token) }); HttpResponseMessage responseMsg = await httpClient.PostAsync(" https://www.google.com/recaptcha/api/siteverify", formContent); if (responseMsg.IsSuccessStatusCode == false) { return(false); } string response = await responseMsg.Content.ReadAsStringAsync(); ReCaptchaResponse reCaptchaResponse = JsonConvert.DeserializeObject <ReCaptchaResponse>(response); if (reCaptchaResponse.Success == false) { return(false); } if (reCaptchaResponse.TokenHostName != hostName) { return(false); } return(true); }
//editUser --> POST: api/User?username=elad public UserData Post([FromBody] UserData value, string username, string token) { var ret = new UserData(); try { Server.CheckToken(token); var u = Server.UserFacade.EditUser(Crypto.Decrypt(username), Crypto.Decrypt(value.Username), Crypto.Decrypt(value.Password), value.AvatarPath, Crypto.Decrypt(value.Email)); if (u != null) { ret.AvatarPath = u.AvatarPath; ret.Chips = u.ChipsAmount; ret.Email = Crypto.Encrypt(u.Email); ret.Password = Crypto.Encrypt(u.Password); ret.Rank = u.League; ret.Username = Crypto.Encrypt(u.Username); ret.Wins = u.Wins; } } catch (Exception e) { ret.Message = e.Message; } return(ret); }
public async Task <bool> UpdateData(string id, accounttbl obj) { try { if (id != obj.accountNo.ToString()) { return(false); } using (var context = new smlpobDB()) { context.accounttbls.Attach(obj); context.Entry(obj).Property(x => x.username).IsModified = true; context.Entry(obj).Property(x => x.password).IsModified = true; context.Entry(obj).Property(x => x.roleName).IsModified = true; context.Entry(obj).Property(x => x.modBy).IsModified = true; context.Entry(obj).Property(x => x.modDate).IsModified = true; await context.SaveChangesAsync(); MembershipUser ms = Membership.GetUser(obj.username); ms.ChangePassword(ms.ResetPassword(), Crypto.Decrypt(obj.password)); return(true); } } catch (Exception ex) { LogHelpers.source = this.GetType().Name; LogHelpers.message = ex.InnerException.ToString(); LogHelpers.user = ""; LogHelpers.WriteLog(); } return(false); }
// login -->POST: api/User public UserData Post([FromBody] UserData value) { var ret = new UserData(); try { var u = Server.UserFacade.Login(Crypto.Decrypt(value.Username), Crypto.Decrypt(value.Password)); ret.AvatarPath = u.AvatarPath; ret.Chips = u.ChipsAmount; ret.Email = Crypto.Encrypt(u.Email); ret.Password = Crypto.Encrypt(u.Password); ret.Rank = u.League; ret.Username = Crypto.Encrypt(u.Username); ret.Wins = u.Wins; var g = Guid.NewGuid(); while (g.ToString().Contains('&') || g.ToString().Contains('+') || g.ToString().Contains('=') || g.ToString().Contains(':') || g.ToString().Contains('/') || g.ToString().Contains('?') || g.ToString().Contains('#') || g.ToString().Contains('@') || g.ToString().Contains('!') || g.ToString().Contains('$') || g.ToString().Contains('\'') || g.ToString().Contains('(') || g.ToString().Contains(')') || g.ToString().Contains('*') || g.ToString().Contains(',') || g.ToString().Contains(';')) { g = Guid.NewGuid(); } ret.token = g.ToString(); Server.GuidDic.Add(g.ToString(), new Tuple <string, DateTime>(value.Username, DateTime.Now)); } catch (Exception e) { ret.Message = e.Message; } return(ret); }
/// <summary> /// Determine whether the captca image is correct based on the /// 1. user input text /// 2. hidden encoded captcha text. /// </summary> /// <returns></returns> public bool IsCorrect(string userInput, string encodedText) { string captchText = Crypto.Decrypt(encodedText); bool isMatch = string.Compare(captchText, userInput, !Settings.IsCaseSensitive) == 0; return(isMatch); }
private void ReadCallback(IAsyncResult ar) { var state = ar.AsyncState as StateObject; var bytesReceived = state.workStream.EndRead(ar); if (bytesReceived > 0) { var dataReceived = state.buffer.TrimBytes(); if (Crypto.VerifyHMAC(dataReceived)) { var messages = Crypto.Decrypt <List <AgentMessage> >(dataReceived); if (messages != null) { foreach (var message in messages) { if (!string.IsNullOrEmpty(message.Data.Module)) { InboundC2Data.Enqueue(message); } } } } } state.workStream.Close(); state.workClient.Close(); }
/// <summary> /// Generate a new BitMap using the encoded random text supplied in the url. /// </summary> /// <param name="urlParamName"></param> /// <returns></returns> public Bitmap GenerateFromUrl() { string encodedRandomText = HttpContext.Current.Request.Params[_urlParam]; string randomText = Crypto.Decrypt(encodedRandomText); return(Generate(randomText)); }
public void TestDecrypt() { Assert.AreEqual("1233skjv", Crypto.Decrypt("1233skjv", "мама")); //сообщение не должно измениться, если оно состоит не из букв русского алфавита Assert.AreEqual(null, Crypto.Decrypt("мама", "скорпион")); //должно вернуться null, если длина ключа больше длины сообщения Assert.AreEqual(null, Crypto.Decrypt("мама", "sк0r")); //должно вернуться null, если в ключе есть символ(-ы) не из русского алфавита Assert.AreEqual("поздравляю", Crypto.Decrypt("бщцфаирщри", "скорпион")); }
public object Post([FromBody] object ciphertext, [FromServices] AccessManager accessManager) { dynamic json = JsonConvert.DeserializeObject(ciphertext.ToString()); string msg = json.ciphertext; byte[] crypt = Convert.FromBase64String(msg); byte[] keybytes = Encoding.UTF8.GetBytes("8080808080808080"); byte[] iv = Encoding.UTF8.GetBytes("8080808080808080"); // Decrypt var decripted = Crypto.Decrypt(crypt, keybytes, iv); //Enviar para o login User user = JsonConvert.DeserializeObject <User>(decripted); object obj = Login(user, accessManager); string output = JsonConvert.SerializeObject(obj); // Encrypt byte[] encrypted = Crypto.Encrypt(output, keybytes, iv); return(new { Message = encrypted }); }
public void DecryptTest() { string clearText = "this is a string test"; Assert.AreEqual(clearText, Crypto.Decrypt(Crypto.Encrypt(clearText))); clearText = "thi\"\"\"\"s is a string\"@#$%#@\"#23'2''2 \"\"test"; Assert.AreEqual(clearText, Crypto.Decrypt(Crypto.Encrypt(clearText))); clearText = "3412341212423412342342341234211234"; Assert.AreEqual(clearText, Crypto.Decrypt(Crypto.Encrypt(clearText))); clearText = "3412341212423412342342341\\\n\n\t\t234211234"; Assert.AreEqual(clearText, Crypto.Decrypt(Crypto.Encrypt(clearText))); clearText = @"3asdcasdc sad c asdcasdLorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Ut wisi enim ad minim veniam, quis nostrud exerci taion ullamcorper suscipit lobortis nisl ut aliquip ex en commodo consequat. Duis te feugifacilisi per suscipit lobortis nisl ut aliquip ex en commodo consequat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi.Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Ut wisi enim ad minim veniam, quis nostrud exerci taion ullamcorper suscipit lobortis nisl ut aliquip ex en commodo consequat. Duis te feugifacilisi per suscipit lobortis nisl ut aliquip ex en commodo consequat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Ut wisi enim ad minim veniam, quis nostrud exerci taion ullamcorper suscipit lobortis nisl ut aliquip ex en commodo consequat. Duis te feugifacilisi per suscipit lobortis nisl ut aliquip ex en commodo consequat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Ut wisi enim ad minim veniam, quis nostrud exerci taion ullamcorper suscipit lobortis nisl ut aliquip ex en commodo consequat. Duis te feugifacilisi per suscipit lobortis nisl ut aliquip ex en commodo consequat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Ut wisi enim ad minim veniam, quis nostrud exerci taion ullamcorper suscipit lobortis nisl ut aliquip ex en commodo consequat. Duis te feugifacilisi per suscipit lobortis nisl ut aliquip ex en commodo consequat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Ut wisi enim ad minim veniam, quis nostrud exerci taion ullamcorper suscipit lobortis nisl ut aliquip ex en commodo consequat. Duis te feugifacilisi per suscipit lobortis nisl ut aliquip ex en commodo consequat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Ut wisi enim ad minim veniam, quis nostrud exerci taion ullamcorper suscipit lobortis nisl ut aliquip ex en commodo consequat. Duis te feugifacilisi per suscipit lobortis nisl ut aliquip ex en commodo consequat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Ut wisi enim ad minim veniam, quis nostrud exerci taion ullamcorper suscipit lobortis nisl ut aliquip ex en commodo consequat. Duis te feugifacilisi per suscipit lobortis nisl ut aliquip ex en commodo consequat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. Ut wisi enim ad minim veniam, quis nostrud exerci taion ullamcorper suscipit lobortis nisl ut aliquip ex en commodo consequat. Duis te feugifacilisi per suscipit lobortis nisl ut aliquip ex en commodo consequat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zril delenit au gue duis dolore te feugat nulla facilisi. asdc asd sdcaaaaaaaaaaaaaaasdacasdc 412341212423412342342341\\\n\n\t\t234211234"; Assert.AreEqual(clearText, Crypto.Decrypt(Crypto.Encrypt(clearText))); }
public override string Get(string key) { try { key = key.ToLower(); if (string.IsNullOrEmpty(key)) { return(null); } SecStatusCode code; SecRecord queryRec = new SecRecord(SecKind.GenericPassword) { Service = serviceId, Label = serviceId, Account = key, Synchronizable = false }; queryRec = SecKeyChain.QueryAsRecord(queryRec, out code); if (code == SecStatusCode.Success && queryRec != null && queryRec.Generic != null) { string value = NSString.FromData(queryRec.Generic, NSStringEncoding.UTF8); value = Crypto.Decrypt(value, "KeyChainService_iOS"); return(value); } return(null); } catch (Exception) { return(null); } }
//обработать входящее от клиента сообщение private async void HandleMessage(string message, ClientObject fromClient) { if (message.Length == 0) { return; } string decryptedMessage = await Crypto.Decrypt(message); if (ProcessMessageCommand(decryptedMessage, fromClient).Result) { return; } if (!decryptedMessage.StartsWith(ChatSyntax.ImageDiv)) { onServerInform?.Invoke($"{fromClient.UserLogin}: {decryptedMessage}"); onServerInform?.Invoke($"{fromClient.UserLogin}: {message}"); } NotifyClients(decryptedMessage, fromClient); if (!await Database.AddMessage(decryptedMessage, fromClient, fromClient.ActiveChatRoom.Name)) { onServerInform($"Ошибка сохранения сообщения от клиента {fromClient.UserLogin} из комнаты {fromClient.ActiveChatRoom.Name} в базе.\nСообщение: {decryptedMessage}"); } }
private bool CheckDefaultPasswordExist() { string path = AppDomain.CurrentDomain.BaseDirectory + "\\Credential\\LoginCredential.xml"; DataSet ds = new DataSet(); bool Is_Validate = false; try { ds.ReadXml(path); var dt = ds.Tables["LoginCredential"]; if (dt != null) { var getPass_Decrypt = Crypto.Decrypt(dt.Rows[0][1].ToString()); if (getPass_Decrypt == "adminadmin") { Is_Validate = true; } } } catch (Exception ex) { SentrySdk.CaptureException(ex); MessageBox.Show(ex.Message); } return(Is_Validate); }
public void Crypto_SymmetricKey() { SymmetricKey key = Crypto.GenerateSymmetricKey(CryptoAlgorithm.AES, 256); SymmetricKey copy; string inputString; byte[] inputBytes; copy = new SymmetricKey(key.ToString()); Assert.AreEqual(key.Algorithm, copy.Algorithm); CollectionAssert.AreEqual(key.Key, copy.Key); CollectionAssert.AreEqual(key.IV, copy.IV); inputString = "Hello World!"; Assert.AreEqual(inputString, Crypto.DecryptString(Crypto.EncryptString(inputString, key), key)); Assert.AreEqual(inputString, Crypto.DecryptStringWithSalt4(Crypto.EncryptStringWithSalt4(inputString, key), key)); Assert.AreEqual(inputString, Crypto.DecryptStringWithSalt8(Crypto.EncryptStringWithSalt8(inputString, key), key)); inputBytes = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; CollectionAssert.AreEqual(inputBytes, Crypto.Decrypt(Crypto.Encrypt(inputBytes, key), key)); CollectionAssert.AreEqual(inputBytes, Crypto.DecryptWithSalt4(Crypto.EncryptWithSalt4(inputBytes, key), key)); CollectionAssert.AreEqual(inputBytes, Crypto.DecryptWithSalt8(Crypto.EncryptWithSalt8(inputBytes, key), key)); key = new SymmetricKey("plaintext"); Assert.AreEqual(CryptoAlgorithm.PlainText, key.Algorithm); CollectionAssert.AreEqual(new byte[0], key.Key); CollectionAssert.AreEqual(new byte[0], key.IV); Assert.AreEqual("PLAINTEXT", key.ToString()); }
public bool DecryptHeader(string password, bool checkonly = false) { ReadHeader(); if (_header == null) { throw new InvalidOperationException("Header not decrypted"); } DEBUG.Print(GetType(), "unlock"); string d = Crypto.Decrypt(this._header, EnhancePassword(password)); if (d == null) { return(false); } if (_headerRegex.IsMatch(d)) { if (!checkonly) { this._decryptedheader = d; } return(true); } return(false); }
public void TestEncryptionAES() { var c = new Crypto(); string userKey = "4b236698-ebbb-4d3d-9513-961c5603d431"; string keySalt = "0000000001"; string text = "hello"; string cypher = c.Encrypt(text, userKey, keySalt); Console.WriteLine(cypher); string textdec = c.Decrypt(cypher, userKey, keySalt); Assert.AreEqual(text, textdec); }
private void DecryptButton_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(KeyBox.Text)) { MessageBox.Show("You must enter a key!"); } else { var crypto = new Crypto(KeyBox.Text); OutputBox.Text = crypto.Decrypt(InputBox.Text); } }
public static string Decrypt(string string_to_decrypt) { if (string.IsNullOrWhiteSpace(string_to_decrypt)) return string.Empty; try { Crypto c = new Crypto(Crypto.CryptoTypes.encTypeTripleDES); return c.Decrypt(string_to_decrypt); } catch (Exception ex) { LogHelper.logError("Security.cs", "Unable to decrypt " + string_to_decrypt + " " + ex.Message + " " + ex.StackTrace); return ""; } }
public void OnAuthorization(AuthorizationContext filterContext) { if (!filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true)) { // ?token=XtsMJRrUtGiytKZ2b6H0eBgVzfNS5hr73kapmZiA4GDENdrRNRXSlis7BFrp4mtr string tokenStatus = "ok"; string token = ""; if (HttpContext.Current.Request["token"] != null) { string encryptedToken = HttpContext.Current.Request["token"].ToString(); try { Crypto crypto = new Crypto(true); token = crypto.Decrypt(HttpContext.Current.Server.HtmlEncode(encryptedToken)); char[] spaceSeparator = { ' ' }; string[] a = token.Split(spaceSeparator); var timestamp = new DateTime(long.Parse(a[0])); if (timestamp.AddMinutes(120) < DateTime.Now) { tokenStatus = "Expired token"; token = ""; } else HttpContext.Current.Session["token"] = token; } catch (Exception ex) { tokenStatus = ex.Message; } } else { if (HttpContext.Current.Session["token"] != null) token = HttpContext.Current.Session["token"].ToString(); else tokenStatus = "Missing token"; } if (tokenStatus != "ok") { filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary { { "action", "Index" }, { "controller", "Unauthorized" }, { "tokenStatus", tokenStatus } } ); } } }
private void DecryptFileButton_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(KeyBoxFile.Text) || string.IsNullOrWhiteSpace(FilePathBox.Text)) { MessageBox.Show("You must enter a key!"); } else { ResultsTextBox.AppendText("Decrypting...\n"); var crypto = new Crypto(KeyBoxFile.Text); string fileContents; string extractedHash; string decryptedHash; using (StreamReader sr = new StreamReader(FilePathBox.Text)) { fileContents = sr.ReadToEnd(); } extractedHash = Hasher.ExtractHash(fileContents); ExtractedHashBox.Text = extractedHash; fileContents = fileContents.Substring(0, fileContents.Length - 24); var utf8WithBom = new UTF8Encoding(true); using ( StreamWriter sw = new StreamWriter(Path.Combine(Path.GetDirectoryName(FilePathBox.Text), Path.GetFileNameWithoutExtension(FilePathBox.Text) + "Decrypted" + ".txt"), false, utf8WithBom)) { sw.Write(crypto.Decrypt(fileContents)); } using (StreamReader sr = new StreamReader(Path.Combine(Path.GetDirectoryName(FilePathBox.Text), Path.GetFileNameWithoutExtension(FilePathBox.Text) + "Decrypted" + ".txt"))) { fileContents = sr.ReadToEnd(); } decryptedHash = Hasher.GenerateBase64Hash(MD5.Create(), fileContents); ResultsTextBox.AppendText("Decryption complete.\n"); ResultsTextBox.AppendText(string.Format("Decrypted Hash: {0}\n", decryptedHash)); ResultsTextBox.AppendText(string.Format("Extracted Hash: {0}\n", extractedHash)); if (Hasher.VerifyHash(decryptedHash, extractedHash)) { ResultsTextBox.AppendText("Hashes match! Successful decryption.\n"); } else { ResultsTextBox.AppendText("Hashes do not match! Unsuccessful decryption.\n"); } } }
public static void Main(string[] args) { string serverHost; int serverPort; int httpPort; int payloadSize; int uint16Size = 2; int uint32Size = 4; int packetSize; uint cmdId = 1; uint seq = 100; uint stopSymbol = 1550998638; byte[] msg; byte[] packet; Console.WriteLine("Enter server host name:"); serverHost = Console.ReadLine(); Console.WriteLine("Enter HTTP server port:"); httpPort = int.Parse(Console.ReadLine()); var request = (HttpWebRequest)WebRequest.Create("http://" + serverHost + ":" + httpPort + "/auth"); var postData = "thing1=hello"; postData += "&thing2=world"; var data = Encoding.ASCII.GetBytes(postData); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; var hstream = request.GetRequestStream(); hstream.Write(data, 0, data.Length); var response = (HttpWebResponse)request.GetResponse(); var authRes = new StreamReader(response.GetResponseStream()).ReadToEnd(); Console.WriteLine("Auth response:{0}", authRes); JSONNode auth = JSON.Parse(authRes); Console.WriteLine("Session ID is {0}", auth["sessionId"]); Console.WriteLine( "Cipher Key, Nonce, and MacKey:{0}, {1}, {2}", auth["cipherData"]["base64"]["cipherKey"], auth["cipherData"]["base64"]["cipherNonce"], auth["cipherData"]["base64"]["macKey"] ); Console.WriteLine("Enter TCP server port number:"); serverPort = int.Parse(Console.ReadLine()); TcpClient client = new TcpClient(serverHost, serverPort); NetworkStream stream = client.GetStream(); msg = Encoding.UTF8.GetBytes("{ \"message\":\"Hello\"}"); // prepare encryption Guid sid = new Guid(auth["sessionId"]); byte[] cipherKey = System.Convert.FromBase64String(auth["cipherData"]["base64"]["cipherKey"]); byte[] cipherNonce = System.Convert.FromBase64String(auth["cipherData"]["base64"]["cipherNonce"]); byte[] macKey = System.Convert.FromBase64String(auth["cipherData"]["base64"]["macKey"]); var crypto = new Crypto(sid, cipherKey, cipherNonce, macKey); // encrypt msg = crypto.Encrypt(msg); // create gracenode RPC command packet payloadSize = IPAddress.HostToNetworkOrder(msg.Length); byte[] payloadSizeBytes = BitConverter.GetBytes(payloadSize); packetSize = uint32Size + (uint16Size * 2) + msg.Length + uint32Size; packet = new byte[packetSize]; Console.WriteLine("payload size is {0}", msg.Length); Console.WriteLine("packet size is {0}", packetSize); // RPC protocol version 0 packet[0] = 0x0; // add payload size at the offset of 0: payload size if utin32 4 bytes Buffer.BlockCopy(payloadSizeBytes, 0, packet, 0, uint32Size); // add command ID at the offset of 4: command ID is uint16 2 bytes byte[] cmd = BitConverter.GetBytes(IPAddress.HostToNetworkOrder((short)cmdId)); Buffer.BlockCopy(cmd, 0, packet, 4, uint16Size); // add seq at the offset of 6: seq is uint16 2 bytes byte[] seqBytes = BitConverter.GetBytes(IPAddress.HostToNetworkOrder((short)seq)); Buffer.BlockCopy(seqBytes, 0, packet, 6, uint16Size); // add payload at the offset of 8 Buffer.BlockCopy(msg, 0, packet, 8, msg.Length); // add magic stop symbol: magic stop symbol is uint 32 4 bytes int stop = IPAddress.HostToNetworkOrder(Convert.ToInt32(stopSymbol)); byte[] stopBytes = BitConverter.GetBytes(stop); Buffer.BlockCopy(stopBytes, 0, packet, msg.Length + 8, uint32Size); Console.WriteLine("Sending command packet: {0}", packet.Length); // send command packet to server stream.Write(packet, 0, packet.Length); // receive the response back from server // read in chunk of 2KB byte[] res = new byte[2048]; int bytesRead = 0; bytesRead = stream.Read(res, 0, res.Length); while (bytesRead > 0) { // read payload size byte[] psizeBytes = new byte[uint32Size]; Buffer.BlockCopy(res, 0, psizeBytes, 0, uint32Size); // big endian Array.Reverse(psizeBytes); uint psize = BitConverter.ToUInt32(psizeBytes, 0); Console.WriteLine("Reply payload size is {0}", psize); // read reply flag byte[] flagBytes = new byte[4]; Buffer.BlockCopy(res, 4, flagBytes, 0, 1); int replyFlag = BitConverter.ToInt32(flagBytes, 0); Console.WriteLine("Reply flag is {0}", replyFlag); // read reply status byte[] statusBytes = new byte[4]; Buffer.BlockCopy(res, 5, statusBytes, 0, 1); int status = BitConverter.ToInt32(statusBytes, 0); Console.WriteLine("Replay status is {0}", status); // read seq byte[] rseqBytes = new byte[uint16Size]; Buffer.BlockCopy(res, 6, rseqBytes, 0, uint16Size); // big endian Array.Reverse(rseqBytes); uint rseq = BitConverter.ToUInt16(rseqBytes, 0); Console.WriteLine("Reply seq is {0}", rseq); // read payload byte[] payloadBytes = new byte[psize]; Buffer.BlockCopy(res, 8, payloadBytes, 0, Convert.ToInt32(psize)); //string payload = Encoding.UTF8.GetString(payloadBytes, 0, payloadBytes.Length); Console.WriteLine("Reply payload is {0}", Encoding.UTF8.GetString(crypto.Decrypt(payloadBytes))); // read magic stop symbol byte[] sbytes = new byte[uint32Size]; Buffer.BlockCopy(res, 8 + Convert.ToInt32(psize), sbytes, 0, uint32Size); // big endian Array.Reverse(sbytes); uint mstop = BitConverter.ToUInt32(sbytes, 0); Console.WriteLine("Magic stop symbol is {0}. must be the same as {1}", mstop, stopSymbol); if (mstop == stopSymbol) { Console.WriteLine("End of replay packet"); break; } bytesRead = stream.Read(res, 0, res.Length); } Console.WriteLine("Done and close connection"); // close the connection //stream.Close(); }
/// <summary> /// Return the decrypted value of the string passed in. /// </summary> /// <param name="str">The string to decrypt</param> /// <returns>The decrypted value of the string.</returns> public static string DecryptData(string str) { if (str == null) return string.Empty; Crypto CheckCrypto = new Crypto(); string result = CheckCrypto.Decrypt(str, false); if (result == str || result == null || result == "") result = CheckCrypto.Encrypt(str, true); return result; }
/// <summary> /// Return the decrypted value of the string passed in. /// </summary> /// <param name="str">The string to decrypt</param> /// <returns>The decrypted value of the string.</returns> public static string Decrypt(string str) { if (str == null) return string.Empty; Crypto CheckCrypto = new Crypto(); return CheckCrypto.Decrypt(str); }
static void Main(string[] args) { string serverIp; int httpPort; int serverPort; const string STOP = "stop"; Console.WriteLine("Enter server IP address:"); serverIp = Console.ReadLine(); Console.WriteLine("Enter HTTP port number:"); httpPort = int.Parse(Console.ReadLine()); Console.WriteLine("Connection to {0}:{1}", serverIp, httpPort); var request = (HttpWebRequest)WebRequest.Create("http://" + serverIp + ":" + httpPort + "/auth"); var postData = "thing1=hello"; postData += "&thing2=world"; var data = Encoding.ASCII.GetBytes(postData); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; var stream = request.GetRequestStream(); stream.Write(data, 0, data.Length); var response = (HttpWebResponse)request.GetResponse(); var authRes = new StreamReader(response.GetResponseStream()).ReadToEnd(); Console.WriteLine("Auth response:{0}", authRes); JSONNode auth = JSON.Parse(authRes); Console.WriteLine("Session ID is {0}", auth["sessionId"]); Console.WriteLine( "Cipher Key, Nonce, and MacKey:{0}, {1}, {2}", auth["cipherData"]["base64"]["cipherKey"], auth["cipherData"]["base64"]["cipherNonce"], auth["cipherData"]["base64"]["macKey"] ); Console.WriteLine("Enter UDP server port number:"); serverPort = int.Parse(Console.ReadLine()); Console.WriteLine("Connection to {0}:{1}", serverIp, serverPort); int myPort = 54061; // connect to UDP server and send message UdpClient client = new UdpClient(myPort); IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse(serverIp), serverPort); client.Connect(endPoint); Console.WriteLine("Prepare encryption"); // prepare encryption Guid sid = new Guid(auth["sessionId"]); byte[] cipherKey = System.Convert.FromBase64String(auth["cipherData"]["base64"]["cipherKey"]); byte[] cipherNonce = System.Convert.FromBase64String(auth["cipherData"]["base64"]["cipherNonce"]); byte[] macKey = System.Convert.FromBase64String(auth["cipherData"]["base64"]["macKey"]); var crypto = new Crypto(sid, cipherKey, cipherNonce, macKey); byte[] packet = Encoding.ASCII.GetBytes("{\"command\":1,\"payload\":\"Hello\"}"); var epacket = crypto.Encrypt(packet); client.Send(epacket, epacket.Length); Console.WriteLine("UDP message sent: size is {0}", epacket.Length); Console.WriteLine("Waiting for server message..."); byte[] recData = client.Receive(ref endPoint); Console.WriteLine("Try decrypting..."); var dpack = crypto.Decrypt(recData); Console.WriteLine("message from server: {0}", Encoding.UTF8.GetString(dpack)); }
public void Base64FormatException() { Crypto c = new Crypto("my secret key"); c.Decrypt("hello world"); }
public virtual string Decrypt(string Source, bool includeSession) { Crypto CheckCrypto = new Crypto(Crypto.Providers.DES); return CheckCrypto.Decrypt(Source, includeSession); }
public static string FastDecrypt(string src) { try { Crypto c = new Crypto(CryptoTypes.encTypeTripleDES); return c.Decrypt(src); } catch (Exception) { return ""; } }
public void EmptyString() { Crypto c = new Crypto(); string s = c.Encrypt(""); Assert.AreEqual("", s); Assert.AreEqual("", c.Decrypt(s)); }
public void UseDefaultKey() { Crypto c = new Crypto(); string s = c.Encrypt("hello world"); Assert.AreNotEqual("hello world", s); Assert.AreEqual("hello world", c.Decrypt(s)); }
/// <summary> /// Runs a command with impersonation (new style) /// </summary> /// <param name="credentials"></param> /// <param name="command"></param> /// <param name="logger"></param> /// <returns></returns> public static RunAsResult RunAs(SecurityCredentials credentials, string command) { var crypto = new Crypto(_s_k, _s_v); var pass = crypto.Decrypt(credentials.EncryptedPassword); crypto.Dispose(); using (new Impersonator(credentials.User, credentials.Domain, pass, LogonType.Logon32LogonNewCredentials, LogonProvider.Logon32ProviderWinnt50)) { try { var p = new Process(); var si = new ProcessStartInfo(); si.WorkingDirectory = System.Environment.CurrentDirectory; si.WindowStyle = ProcessWindowStyle.Hidden; si.FileName = "cmd.exe"; si.Arguments = @"/c " + command; p.StartInfo = si; p.Start(); p.WaitForExit((int)TimeSpan.FromMinutes(180).TotalMilliseconds); return new RunAsResult { ExitCode = p.ExitCode, ProcessId = p.Id }; } catch (Exception) { throw new Win32Exception(); } } }
public virtual string Decrypt(string Source) { Crypto CheckCrypto = new Crypto(Crypto.Providers.DES); return(CheckCrypto.Decrypt(Source)); }
public string AESDecryption(string cipher, string key, bool fips) //Decryption for Settings.DAT { Crypto superSecret = new Crypto(new AesEngine(), _encoding); superSecret.SetPadding(_padding); return superSecret.Decrypt(cipher, key); }
public void AlgorithmCryptographicException() { Crypto c = new Crypto("my secret key"); c.Decrypt(Convert.ToBase64String(Encoding.UTF8.GetBytes("hello world"))); }