public Dictionary <char, string> TryDecrypt(Hex source) { var result = new Dictionary <char, string>(); foreach (char c in CharacterCounter.GetAlphabet()) { string s = new string(c, source.Length); string decrypted = xorCipher.Decrypt(source, s); result.Add(c, decrypted); } return(result); }
public void XorCipherTest() { using (var cipher1 = new XorCipher()) using (var cipher2 = new XorCipher()) { var content = "password"; var passwordEnc = cipher1.Encrypt(Encoding.UTF8.GetBytes(content)); Console.Write(string.Join(";", passwordEnc.Select(@byte => $"{@byte:x2}").ToArray())); var password = Encoding.UTF8.GetString(cipher2.Decrypt(passwordEnc)); Assert.AreEqual(content, password); } }