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# получить хэш файла / 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-функции).
Subscribe to:
Posts (Atom)