c# подписываем файл сертификатом,полученную сигнатуру записываем в файл

public static bool CertificateSign(string signFilePath, string dumpFilePath, RSACryptoServiceProvider rsaKey)
        {
            byte[] data = null;
            using (System.IO.FileStream _FileStream = new System.IO.FileStream(dumpFilePath, System.IO.FileMode.Open, System.IO.FileAccess.Read))
            using (System.IO.BinaryReader _BinaryReader = new System.IO.BinaryReader(_FileStream))
            {

                long _TotalBytes = new System.IO.FileInfo(dumpFilePath).Length;
                data = _BinaryReader.ReadBytes((Int32)_TotalBytes);
            }

            byte[] signature = rsaKey.SignData(data, new SHA1CryptoServiceProvider());
            File.WriteAllBytes(signFilePath, signature);
            return false;
        }

c# получить хэш файла / c# get hash from file

public static string GetMD5HashFromFile(string fileName)
        {
            FileStream file = new FileStream(fileName, FileMode.Open);
            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] retVal = md5.ComputeHash(file);
            file.Close();

            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < retVal.Length; i++)
            {
                sb.Append(retVal[i].ToString("x2"));
            }
            return sb.ToString();
        }

c# читаем последнюю строку и удаляем её / Get last line from file and delete it

private static string ReadDeleteHashFromFile(string MyFilePath)
{
            string lastline = "";
            using (StreamReader reader = new StreamReader(dumpFilePath))
            {
                using (StreamWriter writer = new StreamWriter("myfile.tmp"))
                {
                    string line = reader.ReadLine();
                    
                    while (!reader.EndOfStream)
                    {
                        writer.Write(line);
                        line = reader.ReadLine();
                        if (!reader.EndOfStream)
                            writer.Write(writer.NewLine);
                    }
                    lastline = line;
                }
            }
            File.Delete(MyFilePath);
            File.Move("myfile.tmp", MyFilePath);
            File.Delete("myfile.tmp");
            return lastline;
}

c# add a line to the end of a file

using (StreamWriter sw = new StreamWriter(dumpFilePath, true, Encoding.ASCII))
            {
                string s="My new line";
                sw.WriteLine();
                sw.Write(s);
                sw.Close();
            }

c# фильтр datagridview


string namestr = "MyColumnName";
BindingSource.Filter = " name LIKE'" + namestr + "%'";

с# работа с API / c# work with API


Для использования в программе API-функций надо, во-первых, добавить постранство имен System.Runtime.InteropServices, во-вторых, добавить заголовок нужной API-функции и в-третьих, вызвать ее в нужном месте.

Код:

using System;
...
//Добавление пространства имен
using System.Runtime.InteropServices;
...
        //Добавление заголовка
[DllImport("user32.dll", EntryPoint="MessageBox")]
        public static extern int MessageBox(int hWnd,
        String strMessage, String strCaption, uint uiType);
...
private void button1_Click(object sender, System.EventArgs e)
        {
            //Вызов API-функции
            MessageBox(0, "Hello!", "Caption", 0);
        }
    ...

В указанном примере при нажатии на кнопку выскочит MessageBox (путем вызова соответствующей API-функции).