- Регистрация
- 19.05.2019
- Сообщения
- 152
- Благодарностей
- 10
- Баллы
- 18
Привет всем.
Подскажите как добавить фкнци в проект я в С# не все понимаю
Задача такая есть ссылка хочу ее записывать в формате md5 и после делать сравнение на это значение
Код уже весь записал, но вот застрял на этом MD5
Нашел код на форуме , как запускать в коде оно работает но не вижу смысла его много раз повторять и хотелось бы эту обработку запихать как функцию в проект
Вот пример моего кода часть которую я пытаюсь добавить
А вот полностью код
Подскажите где я не правильно написал по синтаксису.
Суть такая чтоб в проекте указать так
Понимаю прекрасно что где-то я не знаю синтаксис написания более правильно, но не судите строго лучше помогите поправить код
Подскажите как добавить фкнци в проект я в С# не все понимаю
Задача такая есть ссылка хочу ее записывать в формате md5 и после делать сравнение на это значение
Код уже весь записал, но вот застрял на этом MD5
Нашел код на форуме , как запускать в коде оно работает но не вижу смысла его много раз повторять и хотелось бы эту обработку запихать как функцию в проект
Вот пример моего кода часть которую я пытаюсь добавить
C#:
public class Obrabotka{
public md5(string text_var)
{
//string input = project.Variables["input"].Value;//Получаем значение строки из переменной
System.Security.Cryptography.MD5 md5Hasher = System.Security.Cryptography.MD5.Create();// Создаем объект этого класса.
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(text_var));// Преобразуем входную строку в массив байт и вычисляем хэш
StringBuilder md5hash = new StringBuilder();// Создаем новый Stringbuilder (Изменяемую строку) для набора байт
for (int i = 0; i < data.Length; i++){// Преобразуем каждый байт хэша в шестнадцатеричную строку
md5hash.Append(data[i].ToString("x0"));//преобразуем элемент в шестнадцатиричную строку длиной в два символа
}
//Возвращаем MD5 хеш для строки
return md5hash.ToString();
//return cmd.ExecuteNonQuery();
}
}
Весь код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO;
using System.Text.RegularExpressions;
using ZennoLab.CommandCenter;
using ZennoLab.InterfacesLibrary;
using ZennoLab.InterfacesLibrary.ProjectModel;
using ZennoLab.InterfacesLibrary.ProjectModel.Collections;
using ZennoLab.InterfacesLibrary.ProjectModel.Enums;
using ZennoLab.Macros;
using Global.ZennoExtensions;
using ZennoLab.Emulation;
using MySql.Data.MySqlClient;
using mp;
namespace ZennoLab.OwnCode
{
/// <summary>
/// A simple class of the common code
/// </summary>
public class CommonCode
{
/// <summary>
/// Lock this object to mark part of code for single thread execution
/// </summary>
public static object SyncObject = new object();
// Insert your code here
}
}
namespace mp
{
public class Sql
{
private IZennoPosterProjectModel Project;
public Sql (IZennoPosterProjectModel project)
{
Project = project;
}
#region Cmd
public MySql.Data.MySqlClient.MySqlCommand Cmd ()
{
string hostDB = Project.Variables["DB_HOST"].Value;
string userDB = Project.Variables["DB_USER"].Value;
string passDB = Project.Variables["DB_PASS"].Value;
string nameOfDB = Project.Variables["DB_NAME"].Value;
string charsetDB = Project.Variables["DB_CHARSET"].Value;
string connectString = String.Format("Data Source={0};UserId={1};Password={2};database={3};Charset={4};", hostDB, userDB, passDB, nameOfDB, charsetDB);
var cmd = new MySql.Data.MySqlClient.MySqlCommand();
try{cmd.Connection = new MySql.Data.MySqlClient.MySqlConnection(connectString);}catch(Exception e){
throw new Exception( "MySql сбой соединения" );
} return cmd;
}
#endregion
}
public class Obrabotka{
public md5(string text_var)
{
//string input = project.Variables["input"].Value;//Получаем значение строки из переменной
System.Security.Cryptography.MD5 md5Hasher = System.Security.Cryptography.MD5.Create();// Создаем объект этого класса.
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(text_var));// Преобразуем входную строку в массив байт и вычисляем хэш
StringBuilder md5hash = new StringBuilder();// Создаем новый Stringbuilder (Изменяемую строку) для набора байт
for (int i = 0; i < data.Length; i++){// Преобразуем каждый байт хэша в шестнадцатеричную строку
md5hash.Append(data[i].ToString("x0"));//преобразуем элемент в шестнадцатиричную строку длиной в два символа
}
//Возвращаем MD5 хеш для строки
return md5hash.ToString();
//return cmd.ExecuteNonQuery();
}
}
}
#region SqlExtensions
public static class SqlExtensions
{
public static int ExNonQ (this MySql.Data.MySqlClient.MySqlCommand cmd, string query)
{
cmd.CommandText = query;
return cmd.ExecuteNonQuery();
}
public static long ExQWithLastID (this MySql.Data.MySqlClient.MySqlCommand cmd, string query)
{
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.CommandText = @"SELECT last_insert_id();";
return Convert.ToInt64(cmd.ExecuteScalar());
}
public static object ExScalar (this MySql.Data.MySqlClient.MySqlCommand cmd, string query)
{
cmd.CommandText = query;
return cmd.ExecuteScalar();
}
public static MySql.Data.MySqlClient.MySqlDataReader ExReader (this MySql.Data.MySqlClient.MySqlCommand cmd, string query)
{
cmd.CommandText = query;
return cmd.ExecuteReader();
}
public static int DbLock (this MySql.Data.MySqlClient.MySqlCommand cmd, string query)
{
cmd.CommandText = "LOCK TABLES "+query;
return cmd.ExecuteNonQuery();
}
public static int DbUnLock (this MySql.Data.MySqlClient.MySqlCommand cmd)
{
cmd.CommandText="UNLOCK TABLES;";
return cmd.ExecuteNonQuery();
}
public static IZennoPosterProjectModel Debug(this IZennoPosterProjectModel project, string message, bool showInPoster = false)
{
project.SendInfoToLog(message, showInPoster);
return project;
}
public static IZennoPosterProjectModel Info(this IZennoPosterProjectModel project, string message, bool showInPoster = true)
{
project.SendInfoToLog(message, showInPoster);
return project;
}
public static IZennoPosterProjectModel Warning(this IZennoPosterProjectModel project, string message, bool showInPoster = true)
{
project.SendWarningToLog(message, showInPoster);
return project;
}
public static IZennoPosterProjectModel Error(this IZennoPosterProjectModel project, string message, bool showInPoster = true)
{
project.SendErrorToLog(message, showInPoster);
return project;
}
}
#endregion
Суть такая чтоб в проекте указать так
C#:
Obrabotka.md5(a.GetAttribute("href"));