static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); // Controller. Controller controller = new Controller(); // GUI. EnterForm enterForm = new EnterForm(); ChatForm chatWindow = new ChatForm(); ErrorForm errorForm = new ErrorForm(); controller.EnterForm = enterForm; controller.UserList = chatWindow; controller.TextMessageInput = chatWindow; controller.TextMessageOutput = chatWindow; controller.UserJoinHandler = chatWindow; controller.UserLeaveHandler = chatWindow; controller.ErrorMessageOutput = errorForm; enterForm.ConnectionController = controller; chatWindow.TextMessageController = controller; chatWindow.ConnectionController = controller; chatWindow.SoundInputController = controller; chatWindow.SoundOutputController = controller; // Sound. AudioOutput <string> audioOutput = new AudioOutput <string>(); MicrophoneInput microphoneInput = new MicrophoneInput(); controller.SoundOutput = audioOutput; controller.SoundInput = microphoneInput; // Networking. ServiceConnector serviceConnector = new ServiceConnector(); controller.TextSender = serviceConnector; controller.SoundSender = serviceConnector; controller.ConnectionHandler = serviceConnector; serviceConnector.UserController = controller; serviceConnector.SoundController = controller; serviceConnector.TextMessageController = controller; serviceConnector.DisconnectController = controller; // Text processing. MessageTransformer messageTransformer = new MessageTransformer(); NicknameTransformer nicknameTransformer = new NicknameTransformer(); MessageVerifier messageVerifier = new MessageVerifier(possibleLength: PossibleLength); NicknameVerifier nicknameVerifier = new NicknameVerifier(); controller.MessageTransformer = messageTransformer; controller.NicknameTransformer = nicknameTransformer; controller.MessageVerifier = messageVerifier; controller.NicknameVerifier = nicknameVerifier; Application.Run(new MessengerAppContext(enterForm, chatWindow, errorForm)); }
public void TestSignature() { var provider = new RSACryptoServiceProvider(); var provider2 = new RSACryptoServiceProvider(); var parameters = provider.ExportParameters(true); var paramaters2 = provider2.ExportParameters(true); byte[] HashValue = { 59, 4, 248, 102, 77, 97, 142, 201, 210, 12, 224, 93, 25, 41, 100, 197, 213, 134, 130, 135 }; byte[] signedHash = MessageVerifier.CreateSignature(HashValue, parameters); Assert.IsTrue(MessageVerifier.CheckSignature(HashValue, signedHash, parameters)); Assert.IsFalse(MessageVerifier.CheckSignature(HashValue, signedHash, paramaters2)); }