private static Route GenerateRoute(IList <NodeInfo> possibleNodes, int startSequenceId = 0, Route oldRoute = null) { var nodes = new RouteNode[3]; var i = 0; while (i < nodes.Length) { var nodeIndex = SodiumCore.GetRandomNumber(possibleNodes.Count); var node = possibleNodes[nodeIndex]; if (nodes.Any(n => n != null && n.Node.Id == node.Id)) { continue; } var keyPair = PublicKeyBox.GenerateKeyPair(); nodes[i++] = new RouteNode { EphemeralPublicKey = keyPair.PublicKey, SymmetricKey = GenerateSymmetricKey(node.PublicKey, null, keyPair.PublicKey, keyPair.PrivateKey), Node = node }; } return(new Route { StartSequenceId = startSequenceId, OldRoute = oldRoute, Nodes = nodes }); }
private void GeneratePasswordButton_Click(object sender, RoutedEventArgs e) { string characters = ""; string password = ""; if (settings.GetUseLowercase() == true) { characters += "abcdefghijklmnopqrstuvwxyz"; } if (settings.GetUseUppercase() == true) { characters += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; } if (settings.GetUseNumbers() == true) { characters += "0123456789"; } if (settings.GetUseSpecialchars() == true) { characters += settings.GetAllowedSpecialchars(); } for (int i = 0; i < settings.GetDefaultPasswordlength(); i++) { int random = SodiumCore.GetRandomNumber(characters.Length); char c = characters[random]; password += c; } GeneratedPasswordTextbox.Text = password; }
public static string[] AESEncryption(string key, string plainText) { var nonce = SecretAead.GenerateNonce(); var encodedKey = Encoding.UTF8.GetBytes(key); var encodedData = SodiumCore.GetRandomBytes(SodiumCore.GetRandomNumber(1147483647)); var cipherText = SecretAead.Encrypt(Encoding.UTF8.GetBytes(plainText), nonce, encodedKey, encodedData); return(new[] { Encoding.UTF8.GetString(cipherText), Encoding.UTF8.GetString(nonce), Encoding.UTF8.GetString(encodedData) }); }
private static List <string> GetRandomWords(string[] wordlist, int length) { var words = new List <string>(); var textInfo = CultureInfo.CurrentCulture.TextInfo; for (int i = 0; i < length; i++) { int randomLine = SodiumCore.GetRandomNumber(wordlist.Length); words.Add(textInfo.ToTitleCase(wordlist[randomLine])); } return(words); }
private static List <string> GetRandomWords(string[] wordlist, int length) { var words = new List <string>(); var textInfo = new CultureInfo("en-US", useUserOverride: false).TextInfo; for (int i = 0; i < length; i++) { int randomLine = SodiumCore.GetRandomNumber(wordlist.Length); words.Add(textInfo.ToTitleCase(wordlist[randomLine])); } return(words); }
public void GetRandomNumbersTest() { var n1 = SodiumCore.GetRandomNumber(1600); var n2 = SodiumCore.GetRandomNumber(25550); var n3 = SodiumCore.GetRandomNumber(5); var n4 = SodiumCore.GetRandomNumber(2147483647); var n5 = SodiumCore.GetRandomNumber(0); //always 0 Assert.IsNotNull(n1); Assert.IsNotNull(n2); Assert.IsNotNull(n3); Assert.IsNotNull(n4); Assert.IsNotNull(n5); Assert.Less(n1, 1600); Assert.Less(n2, 25550); Assert.Less(n3, 5); Assert.Less(n4, 2147483647); Assert.AreEqual(n5, 0); }
public static string GetRandomString(int length, StringFormat[] lst) { StringBuilder sb = new StringBuilder(); string keyspace = ""; if (lst.Any(x => x == StringFormat.Number)) { keyspace = "0123456789"; } if (lst.Any(x => x == StringFormat.Letter)) { keyspace += "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; } else { if (lst.Any(x => x == StringFormat.Upper)) { keyspace += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; } if (lst.Any(x => x == StringFormat.Lower)) { keyspace += "abcdefghijklmnopqrstuvwxyz"; } } if (lst.Any(x => x == StringFormat.Symbol)) { keyspace += "~!@#$%^&*()_+`-={}|[]\\:\";'<>?,./"; } for (int i = 0; i < length; i++) { sb.Append(keyspace[SodiumCore.GetRandomNumber(keyspace.Length)]); } return(sb.ToString()); }
/// <summary> /// Random number. /// </summary> /// <returns>The numbers.</returns> /// <param name="n">N.</param> public static int RandomNumbers(int n) { Guard.Argument(n, nameof(n)).NotNegative(); return(SodiumCore.GetRandomNumber(n)); }
public DiffieHellman() { secretKey = SodiumCore.GetRandomBytes(SodiumCore.GetRandomNumber(1147483647)); }
public static string randomString() { var randomBytes = SodiumCore.GetRandomBytes(SodiumCore.GetRandomNumber(1147483647)); return(Encoding.UTF8.GetString(randomBytes)); }
/// <summary> /// Random number. /// </summary> /// <returns>The numbers.</returns> /// <param name="n">N.</param> public static int RandomNumbers(int n) { return(SodiumCore.GetRandomNumber(n)); }
public static int RandomNumber(int n) => SodiumCore.GetRandomNumber(n);