Курсовая работа: Разработка программы "Формирование и проверка контрольной суммы кластеров"
public Form2() {
//инициализация компонента – необходима для создания окна
InitializeComponent();
}
Также несколько методов класса Form2, код которого приведен в приложении являются обработчиками событий: нажатие кнопки, работа с информацией.
Программная реализация обработчика сообщений privatevoidbutton1_Click(objectsender, EventArgse)
Определяет действие при нажатии кнопки «CRC32». Кодобработчикаприведенниже.
private void button1_Click(object sender, EventArgs e)
{ // Читаем
System.IO.FileStream stream1 = System.IO.File.OpenRead(textBox1.Text.ToString());
textBox3.Text=(string.Format("{0:X}", CalculateCRC(stream1))).ToString();}
Программнаяреализацияфункции public static uint CalculateCRC(System.IO.Stream stream)
Данная функция реализует алгоритм формирования контрольной суммы CRC32. Код функции приведен ниже с комментариями.
publicstaticuintCalculateCRC(System.IO.Streamstream)
{ const int buffer_size = 1024;
const uint POLYNOMIAL = 0xEDB88320;
uint result = 0xFFFFFFFF;
uint Crc32;
byte[] buffer = new byte[buffer_size];
uint[] table_CRC32 = new uint[256];
unchecked
{ // Инициалиазациятаблицы
for (int i = 0; i < 256; i++)
{ Crc32 = (uint)i;
for (int j = 8; j > 0; j--)
{ if ((Crc32 & 1)==1)
Crc32 = (Crc32 >> 1) ^ POLYNOMIAL;
else
Crc32 >>= 1; }