Хеш картинки.

juk88

Client
Регистрация
30.05.2018
Сообщения
90
Благодарностей
12
Баллы
8
Привет. Подскажите пожалуйста, как можно получить хеш картинки?
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
742
Баллы
113
Тут на форуме есть сниппеты, очень много сппетов поищи еще ,у меня как то была мысль капчу ими разгадывать, собирать хеши, но пришел к выводу, овчинка выделки не стоит.
 
  • Спасибо
Реакции: juk88

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
742
Баллы
113
У Влада интересные варианты
C#:
string imgPath = @"c:/printscreen.jpg";
string base64_hash = string.Empty;
using(Bitmap newImg = new System.Drawing.Bitmap(imgPath)){ // считали картинку по пути в оперативку
    List<byte> bytes = new List<byte>();
    for (int i = 0; i < newImg.Width; i++) {
        for (int j = 0; j < newImg.Height; j++) {
            System.Drawing.Color pixel = newImg.GetPixel(i, j); // получили цвет пикселя
            bytes.Add((byte)((pixel.R + pixel.G + pixel.B) / 3)); // нашли среднее значение
        }
    }
    var avarage = bytes.Average(b => b);
    System.Collections.BitArray bits = new System.Collections.BitArray(bytes.Select(b => b > avarage).ToArray());
    byte[] result = new byte[(int)Math.Round((double)bits.Count / 8)];
    bits.CopyTo(result, 0);
    base64_hash =  Convert.ToBase64String(result); // массив переводим в base64 строку - переменные в Зенно - строковые
    // return result; // возврат массива байт
}
return  base64_hash;
C#:
string path = @"c:/printscreen.jpg";
string md5 = string.Empty;
using(Bitmap bm = new System.Drawing.Bitmap(path)){ // считали картинку по пути в оперативку
    byte[] data;
    using (var ms = new MemoryStream()) {
        bm.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
        data = ms.ToArray();
    }
    using (var sec = new System.Security.Cryptography.MD5CryptoServiceProvider()) {       
        md5 = BitConverter.ToString(sec.ComputeHash(data));
    }
}
return  md5;
71951
 
  • Спасибо
Реакции: xdriver и juk88

juk88

Client
Регистрация
30.05.2018
Сообщения
90
Благодарностей
12
Баллы
8
Тут на форуме есть сниппеты, очень много сппетов поищи еще ,у меня как то была мысль капчу ими разгадывать, собирать хеши, но пришел к выводу, овчинка выделки не стоит.
Спасибо!
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)