private async Task ChangeEncoding(string filePath, string fileOutputPath, EncodingTypes fromEncoding, EncodingTypes toEncoding) { filePath = FormatPath(filePath); fileOutputPath = FormatPath(fileOutputPath); Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); var arabic = Encoding.GetEncoding(1256); string contents = await File.ReadAllTextAsync(filePath, arabic); if (string.IsNullOrEmpty(contents)) { await Task.CompletedTask; return; } var utf8 = UTF8Encoding.GetEncoding(65001); var fileOutputDirectory = new DirectoryInfo(fileOutputPath).Parent.FullName.ToString(); if (!isDirectoryExist(fileOutputDirectory)) { Directory.CreateDirectory(fileOutputDirectory); } await File.WriteAllTextAsync(fileOutputPath, contents, utf8); }
public static CalculationResult StartCalculations(string input, MonoAlphabet alpha, EncoderType encoderType, CodingType codingType, out IMonoAlphabet monoAlphabet) { var result = Empty; var alphabetInfo = ""; if (alpha == MonoAlphabet.Auto) { var autoDetected = Alphabet.DetectMonoFromString(input); alphabetInfo = $"За вхідним повідомленням визначено алфавіт: " + $"{MonoAlphabets.GetName(autoDetected.Item2)}"; monoAlphabet = autoDetected.Item1; } else { alphabetInfo = $"Задано алфавіт: {MonoAlphabets.GetName(alpha)}"; monoAlphabet = Alphabet.GetMono(alpha); } result.CalculationsPipeline.AddRange(new string[] { " -- ", "Початок обчислень...", $"Тип шифрування: {EncodingTypes.GetName(encoderType)}", $"Тип операції: {CodingTypes.GetName(codingType)}", alphabetInfo, $"Повідомлення: {input}" }); return(result); }
private void comboBoxEncoding_SelectedIndexChanged(object sender, EventArgs e) { lbNameEncoder.Text = $"Шифр : {(string)comboBoxEncoding.SelectedItem}"; QuestionByTestingHolder.UpdateResult(); _guid = Guid.NewGuid(); FileStream fs = null; EncoderType enc = EncodingTypes.GetEncodingType(comboBoxEncoding.SelectedItem.ToString()); string path = $"Theory/{enc.ToString()}.txt"; if (File.Exists(path)) { fs = new FileStream(path, FileMode.Open); using (StreamReader sr = new StreamReader(fs)) { tbTheory.Text = sr.ReadToEnd(); } } Control cntrl = (enc == EncoderType.DiffiHelman || (enc == EncoderType.SHA1) || (enc == EncoderType.MD5)) ? new BaseEncodeControl(this, enc) : (Control) new DecodeEncodeControl(enc); SelectEncodingControl(cntrl); GetAnotherTest(); }
public DecodeEncodeControl(EncoderType type) { InitializeComponent(); _type = type; nameLabel.Text = EncodingTypes.GetName(type); InitEnconding(); }
public BaseEncodeControl(EncodersForm encodersForm, EncoderType type) { InitializeComponent(); _type = type; nameLabel.Text = EncodingTypes.GetName(type); _encodersForm = encodersForm; LoadEncoding(); }
public EncodersCalculatorForm() { InitializeComponent(); FormClosing += SwitсhToMain; comboBox1.Items.AddRange(EncodingTypes.GetAllNames()); comboBox1.SelectedIndex = 0; }
/// <summary> /// Constructor /// </summary> /// <param name="typeOfEncoding">Specify type of encoding</param> #region G9Encoding public G9Encoding(EncodingTypes typeOfEncoding) { #if NETSTANDARD2_1 || NETCOREAPP3_0 || NETCOREAPP3_1 EncodingType = typeOfEncoding switch { EncodingTypes.ASCII => Encoding.ASCII, EncodingTypes.BigEndianUnicode => Encoding.BigEndianUnicode, EncodingTypes.Default => Encoding.Default, EncodingTypes.UTF_32 => Encoding.UTF32, EncodingTypes.UTF_7 => Encoding.UTF7, EncodingTypes.UTF_8 => Encoding.UTF8, EncodingTypes.Unicode => Encoding.Unicode, _ => throw new InvalidEnumArgumentException(nameof(EncodingType), (byte)typeOfEncoding, typeof(EncodingTypes)) }; #else switch (typeOfEncoding) { case EncodingTypes.ASCII: EncodingType = Encoding.ASCII; break; case EncodingTypes.BigEndianUnicode: EncodingType = Encoding.BigEndianUnicode; break; #if NETSTANDARD2_0 case EncodingTypes.Default: EncodingType = Encoding.Default; break; #endif case EncodingTypes.UTF_32: EncodingType = Encoding.UTF32; break; case EncodingTypes.UTF_7: EncodingType = Encoding.UTF7; break; case EncodingTypes.UTF_8: EncodingType = Encoding.UTF8; break; case EncodingTypes.Unicode: EncodingType = Encoding.Unicode; break; default: throw new InvalidEnumArgumentException(nameof(EncodingType), (byte)typeOfEncoding, typeof(EncodingTypes)); } #endif }
/// <summary> /// 解密字符串 /// </summary> /// <param name="s"></param> /// <param name="key"></param> /// <param name="encodingType"></param> /// <returns></returns> public static string Decrypt(String s, String key, EncodingTypes encodingType = EncodingTypes.Base64) { byte[] cipherText = null; switch (encodingType) { case EncodingTypes.Base64: cipherText = Convert.FromBase64String(s); break; case EncodingTypes.Base58: cipherText = Base58Encoding.Decode(s); break; } return(DecryptStringFromBytes(cipherText, key)); }
private static Encoding getEncodingTypes(EncodingTypes encodingTypes) { switch (encodingTypes) { case EncodingTypes.UTF32: return(new UTF32Encoding()); case EncodingTypes.UTF8: return(new UTF8Encoding()); case EncodingTypes.ASCII: return(new ASCIIEncoding()); default: return(new UTF32Encoding()); } }
/// <summary> /// 加密字符串,结果是使用base64编码过的 /// </summary> /// <param name="plainText"></param> /// <param name="key"></param> /// <returns></returns> public static String Encrypt(String plainText, String key, EncodingTypes encodingType = EncodingTypes.Base64) { var result = string.Empty; var bytes = EncryptStringToBytes(plainText, key); switch (encodingType) { case EncodingTypes.Base64: result = Convert.ToBase64String(bytes); break; case EncodingTypes.Base58: result = Base58Encoding.Encode(bytes); break; } return(result); }
private void ChangeEncoder() { panel2.Controls.Clear(); UserControl cntrl = null; var type = EncodingTypes.GetEncodingType(comboBox1.Text); switch (type) { case EncoderType.Caesar: cntrl = new CaesarCalculatorControl(); break; case EncoderType.Trithemius: cntrl = new TrithemiusCalculatorControl(); break; } var baseCntrl = new BaseCalculatorControl(cntrl, this, type); baseCntrl.panel1.Controls.Add(cntrl); panel2.Controls.Add(baseCntrl); }
public void GetAnotherTest() { EncoderType enc = EncodingTypes.GetEncodingType(comboBoxEncoding.SelectedItem.ToString()); _currentquestionByTesting = QuestionByTestingHolder.GetQuestionByTestings(enc) .FirstOrDefault(p => p.AnswerType == AnswerType.Defoult); //if (_currentquestionByTesting == null) //{ // return; //} if (_testingCach != null) { tabPage3.Controls.Clear(); tabPage3.Controls.Add(_testingCach); } if (_currentquestionByTesting == null) { return; } lbDescription.Text = _currentquestionByTesting.Description; _testingCount = QuestionByTestingHolder.GetQuestionByTestings(enc).Count; lbAllQuestions.Text = _testingCount.ToString(); _currentTask = 0; lbCurrentTask.Text = _currentTask.ToString(); cLB.Items.Clear(); foreach (var s in _currentquestionByTesting.Questions) { cLB.Items.Add($"{s.Key}-{s.Value}"); } }
/// <summary> /// 解密数据 /// </summary> /// <param name="data"></param> /// <param name="encryptKey"></param> /// <param name="encodingType"></param> /// <returns></returns> public static string Decrypt(string data, string encryptKey, EncodingTypes encodingType = EncodingTypes.Base64) { return(AES.Decrypt(data, encryptKey, encodingType)); }
/// <summary> /// Initializes a new instance of the StringEncodingAttribute class. /// </summary> /// <param name="encodingType">Specify encoding type.</param> public StringEncodingAttribute(EncodingTypes encodingType) { this.encodingType = encodingType; }
private void Init() { comboBoxEncoding.Items.AddRange(EncodingTypes.GetAllNames().ToArray()); comboBoxEncoding.SelectedItem = comboBoxEncoding.Items[0]; }
public async Task TranslateTo(bool justTranslateRootFolder, EncodingTypes fromEncoding, EncodingTypes toEncoding, IncludingBehavior includeFileToProcessBehavior, IncludingBehavior includeFolderToProcessBehavior) { var filePaths = new List <string>(); if (justTranslateRootFolder) { filePaths = Directory.GetFiles( targetFolder, "*.*", SearchOption.TopDirectoryOnly) ?.ToList(); } else { filePaths = Directory.GetFiles( targetFolder, "*.*", SearchOption.AllDirectories) ?.ToList(); } if (filePaths.Count == 0) { MessageBox.Show("فایلی پیدا نشد"); await Task.CompletedTask; } foreach (var filePath in filePaths) { var relativePathToTargetRootPath = filePath.Remove(0, targetFolder.Length); var fileOutputPath = outputPath + "\\" + relativePathToTargetRootPath; var parentDirectory = new FileInfo(fileOutputPath).Directory.Parent.Name; var fileInfo = new FileInfo(filePath); var directoryInfo = new FileInfo(fileInfo.Directory.FullName); if (includeFolderToProcessBehavior == IncludingBehavior.UseExcludeList) { if (excludedFolderNames.Count != 0) { if (excludedFolderNames.Any(o => o == directoryInfo.Name)) { continue; } } } if (includeFolderToProcessBehavior == IncludingBehavior.UseIncludeList) { if (includedFolderNames.Count != 0) { if (!includedFolderNames.Any(o => o == directoryInfo.Name)) { continue; } } } if (includeFileToProcessBehavior == IncludingBehavior.UseExcludeList) { if (excludedFileExtensions.Count != 0) { if (excludedFileExtensions.Any(o => o == fileInfo.Extension)) { continue; } } } if (includeFileToProcessBehavior == IncludingBehavior.UseIncludeList) { if (includedFileExtensions.Count != 0) { if (!includedFileExtensions.Any(o => o == fileInfo.Extension)) { continue; } } } if (!fileInfo.Exists) { throw new Exception("فایل " + filePath + " پیدا نشد"); } await ChangeEncoding(filePath, fileOutputPath, fromEncoding, toEncoding); } }
private void button1_Click_1(object sender, EventArgs e) { if (_currentquestionByTesting == null) { return; } string answer = (string)cLB.SelectedItem; if (answer == null) { return; } if (answer != null) { string[] splitAnswe = answer.Split('-'); int index = int.Parse(splitAnswe[0]); if (index == _currentquestionByTesting.Answer) { _currentquestionByTesting.AnswerType = AnswerType.Correct; } else { _currentquestionByTesting.AnswerType = AnswerType.NotCorrect; } } _historyPresentation.AddHistory(new RequestHistory() { CodingType = CodingType.Test, Question = _currentquestionByTesting.Description, Answer = answer, CorrectAnswer = _currentquestionByTesting.Questions .FirstOrDefault(p => p.Key == _currentquestionByTesting.Answer).Value, GuidId = _guid, Mark = _currentquestionByTesting.AnswerType == AnswerType.Correct ? 1 : 0, Name = (string)comboBoxEncoding.SelectedItem }); var enc = EncodingTypes.GetEncodingType(comboBoxEncoding.SelectedItem.ToString()); var correct = QuestionByTestingHolder.GetQuestionByTestings(enc) .Count(p => p.AnswerType == AnswerType.Correct); lbCorrectAnswer.Text = correct.ToString(); _currentquestionByTesting = QuestionByTestingHolder.GetQuestionByTestings(enc) .FirstOrDefault(p => p.AnswerType == AnswerType.Defoult); if (_currentquestionByTesting == null) { _testingCach = panel2; lbCorrectAnswer.Text = "0"; tabPage3.Controls.Clear(); var testingCntrl = new TestingResultControl(correct, _testingCount, this); tabPage3.Controls.Add(testingCntrl); // Resize var cntrlResize = new ControlWithResizes { Control = testingCntrl, Resizes = { SetLocationCentredToParrent, cntrl => SetYIndentToForm(this,cntrl, 0.07) } }; _controlsWithResizes.Add(cntrlResize); cntrlResize.Resize(); _currentTask = 0; _currentquestionByTesting = null; QuestionByTestingHolder.UpdateResult(); return; } _currentTask++; lbCurrentTask.Text = _currentTask.ToString(); lbDescription.Text = _currentquestionByTesting.Description; cLB.Items.Clear(); foreach (var s in _currentquestionByTesting.Questions) { cLB.Items.Add($"{s.Key}-{s.Value}"); } }
/// <summary> /// 恢复数据 /// </summary> /// <param name="data"></param> /// <param name="protectKey"></param> /// <param name="encodingType"></param> /// <returns></returns> static public String UnProtect(String data, string protectKey, EncodingTypes encodingType = EncodingTypes.Base64) { return(AES.Decrypt(data, protectKey, encodingType)); }
private void SetEncoding(CtfPropertyBag bag) { this.Encoding = GetEncoding(bag); }
public static string Hash(String inputText, HashingTypes hashingType, EncodingTypes encodingTypes, StringFormats resultFormat) { return(ComputeHash(inputText, hashingType, encodingTypes, resultFormat)); }
public static string Hash(String inputText, HashingTypes hashingType, EncodingTypes encodingTypes) { return(ComputeHash(inputText, hashingType, encodingTypes, StringFormats.BASE64)); }
/// <summary> /// computes the hash code and converts it to string /// </summary> /// <param name="inputText">input text to be hashed</param> /// <param name="hashingType">type of hashing to use</param> /// <returns>hashed string</returns> private static string ComputeHash(string inputText, HashingTypes hashingType, EncodingTypes encodingTypes, StringFormats resultFormat) { HashAlgorithm HA = getHashAlgorithm(hashingType); Encoding textEncoder = getEncodingTypes(encodingTypes); //get byte representation of input text byte[] inputBytes = textEncoder.GetBytes(inputText); //hash the input byte array byte[] output = HA.ComputeHash(inputBytes); //convert output byte array to a string return(ConvertString(output, resultFormat)); }
private void ParseBody(HttpListenerRequest req) { if (ContentType == null) { return; } else if (ContentType.StartsWith(@"multipart/form-data")) { EncodingType = EncodingTypes.MULTIPART_FORMDATA; String boundary = ContentType.Split(new String[] { " boundary=" }, StringSplitOptions.None).Last(); byte[] boundaryByteArray = System.Text.Encoding.UTF8.GetBytes("--" + boundary); byte[] requestData = null; using (BinaryReader br = new BinaryReader(req.InputStream)) { const int bufferSize = 4096; using (var ms = new MemoryStream()) { byte[] buffer = new byte[bufferSize]; int count; while ((count = br.Read(buffer, 0, buffer.Length)) != 0) { ms.Write(buffer, 0, count); } requestData = ms.ToArray(); } } RequestData = requestData; ParseMultipartBody(boundaryByteArray, RequestData); } else if (ContentType.StartsWith(@"text/plain")) { EncodingType = EncodingTypes.TEXT_PLAIN; using (StreamReader sr = new StreamReader(req.InputStream)) { RequestBody = sr.ReadToEnd(); } FormCollection = System.Web.HttpUtility.ParseQueryString(RequestBody); } else if (ContentType.StartsWith(@"application/x-www-form-urlencoded")) { EncodingType = EncodingTypes.APPLICATION_X_WWW_FORM_URLENCODED; using (StreamReader sr = new StreamReader(req.InputStream)) { RequestBody = sr.ReadToEnd(); } FormCollection = System.Web.HttpUtility.ParseQueryString(RequestBody); } else { throw new Exception("Unknown type " + ContentType); } }