स्मृति System.Drawing.Image में एक की आवश्यकता MD5 हैशस्मृति System.Drawing.Image में एक के लिए MD5 हैश की आवश्यकता
उत्तर
यहाँ एक बुनियादी टुकड़ा है। कुछ प्रश्नों के लिए @ जेरेड रीइजिंगर की टिप्पणी भी देखें।
using System.Security.Cryptography;
using System.Text;
using System.Drawing.Imaging;
// ...
// get the bytes from the image
byte[] bytes = null;
using(MemoryStream ms = new MemoryStream())
{
image.Save(ms,ImageFormat.Gif); // gif for example
bytes = ms.ToArray();
}
// hash the bytes
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] hash = md5.ComputeHash(bytes);
// make a hex string of the hash for display or whatever
StringBuilder sb = new StringBuilder();
foreach (byte b in hash)
{
sb.Append(b.ToString("x2").ToLower());
}
क्या वह 'foreach (हैश में बाइट बी) पढ़ना नहीं चाहिए? –
ओह, धन्यवाद :) –
सिर्फ प्रश्न का उत्तर देने के लिए धन्यवाद और अपनी सारी ऊर्जा खर्च करने के बारे में चिंता करने के लिए धन्यवाद, मुझे क्यों पता होना चाहिए। मेरी इच्छा है कि एसओ पर अधिक लोग आपके जैसे अधिक थे। इसके अलावा, आप स्ट्रिंगबिल्डर और फोरैच लूप से बच सकते हैं। मेरा जवाब देखें –
sample in MSDN पर आधारित एक साधारण नमूना; ध्यान दें कि यह हैश छवि के आंतरिक प्रतिनिधित्व पर निर्भर है और फ़ाइल से बनाए गए हैश के अनुरूप नहीं होगा।
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Security.Cryptography;
using System.Text;
class Program
{
static string getMd5Hash(byte[] buffer)
{
MD5 md5Hasher = MD5.Create();
byte[] data = md5Hasher.ComputeHash(buffer);
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
return sBuilder.ToString();
}
static byte[] imageToByteArray(Image image)
{
MemoryStream ms = new MemoryStream();
image.Save(ms, ImageFormat.Bmp);
return ms.ToArray();
}
static void Main(string[] args)
{
Image image = Image.FromFile(@"C:\tmp\Jellyfish.jpg");
byte[] buffer = imageToByteArray(image);
string md5 = getMd5Hash(buffer);
}
}
MD5
वर्ग आप System.Security
के लिए एक संदर्भ जोड़ने की जरूरत उपयोग करने में सक्षम होने के लिए।
आपके लिए हैश का उपयोग करने के लिए आप क्या कर रहे हैं, इस पर विचार करना चाहिए कि एमडी 5 अब कला की स्थिति नहीं है और यदि आपको मजबूत हैश की आवश्यकता है तो बेहतर हैश फ़ंक्शंस उपलब्ध हैं।
मुझे कहना है कि यह अच्छी तरह से एक साथ रखा गया है .... पाठ्यपुस्तकों को परीक्षा लेने वालों के लिए भी क्या सिखाता है। – IbrarMumtaz
उत्तर देने वाले अन्य सहयोगियों के लिए धन्यवाद। यहां मैं क्या कर रहा हूं:
MemoryStream ms = new MemoryStream()
image.Save(ms, ImageFormat.Png);
byte[] imgBytes = ms.ToArray();
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] hash = md5.ComputeHash(imgBytes);
string imageMD5 = BitConverter.ToString(hash).Replace("-", "").ToLower();
ms.Dispose();
- 1. स्ट्रिंग से MD5 हैश
- 2. MD5 हैश अलग
- 3. एकाधिक फ़ाइलों के MD5 हैश को मिलाएं
- 4. एक md5 हैश बाइट सरणी को एक स्ट्रिंग
- 5. ग द्वारा कंप्यूट MD5 हैश मान ++ WinAPI
- 6. MD5 एक HttpServletResponse
- 7. सी में बड़ी फाइल के MD5 हैश की गणना कैसे करें?
- 8. सी में स्ट्रिंग का md5 हैश कैसे बनाएं?
- 9. ऐप्स डाउनलोड करने में MD5 हैश का उद्देश्य क्या है?
- 10. WPF में System.Drawing.Image से ImageBrush कैसे बनाएं?
- 11. मेरे ब्लूम फ़िल्टर की कितनी हैश फ़ंक्शन की आवश्यकता है?
- 12. क्या मुझे वास्तव में हैश पासवर्ड की आवश्यकता है?
- 13. MySQL: एक पूर्ण तालिका अद्यतन, एक MD5 हैश डालने, प्रत्येक पंक्ति एक विशिष्ट एक
- 14. buffered पढ़ने के साथ MD5 (या अन्य) हैश की गणना करना संभव है?
- 15. MD5 हैश सर्वर पर अलग-अलग गणना करता है
- 16. क्या हैश (md5, sha1) का कोई सबस्ट्रिंग किसी अन्य की तुलना में अधिक "यादृच्छिक" है?
- 17. क्या प्रबंधित WinRT API में MD5 हैश की गणना करने का कोई तरीका शामिल है?
- 18. md5
- 19. "System.Drawing.Image" का फ़ाइल आकार कैसे प्राप्त करें
- 20. Android में फ़ाइल के लिए MD5 चेकसम कैसे उत्पन्न करें?
- 21. सी # का उपयोग कर मेरे WinRT ऐप के लिए MD5 हैश कोड कैसे उत्पन्न करें?
- 22. हैश-ऑफ-हैश को हैश-ऑफ़-हैश में कनवर्ट करें, हैश की विशेषता द्वारा अनुक्रमित
- 23. एक MD5 हैश को स्ट्रिंग में कैसे परिवर्तित करें और इसे फ़ाइल नाम
- 24. अजगर md5 तुलना
- 25. को खोजने के लिए कैसे और हैश की एक सरणी के भीतर एक हैश मान लौटने के लिए, हैश में कई अन्य मूल्यों दिया
- 26. क्या नमक एक phpass हैश में निहित है या क्या आपको इसके इनपुट को नमक करने की आवश्यकता है?
- 27. PHP के MD5
- 28. बहुत बड़ी फ़ाइलों के लिए MD5 चेकसम प्राप्त करें
- 29. उपयोगकर्ता अपलोड की गई छवियों के लिए एक अद्वितीय फ़ाइल नाम (हैश) बनाना
- 30. सी के लिए एक न्यूनतम हैश समारोह?
आप कहां फंस गए हैं? यह अपेक्षाकृत सीधा है। –
शीर्षक * यह सब नहीं कहता है ... आपको हैश की आवश्यकता क्यों है? क्या इसे बराबर ऑन-डिस्क फ़ाइल के हैश के समान होना चाहिए? संभवतः आप कुछ बिंदु पर हैश की तुलना करने जा रहे हैं ... – JaredReisinger
@ जेरेड - http://uploadscreenshot.com/api-documentation#variables अब, आप जानते हैं कि मुझे क्या पता है: मेरे पास एक सिस्टम है। ड्रॉइंग स्मृति में छवि और उस एपीआई को छवि ऑब्जेक्ट का MD5 हैश भेजने की आवश्यकता है। –