نحوه حساب کردن Cheksum32 ؟!
سلام به همگی.:افسرده:
من دارم برای یک نوع خاصی از فایل های یک ویرایشگر مینویسم.فایل رو کلا آنالیز کردم و آفست هاش رو شناسایی کردم ولی فهمیدم که فایل Cheksum داره و اگر که مقدار چکسام رو در همون فایل ننویسم اون فایل دیگه قابل استفاده نیست مگر اینکه اینطوری و با استفاده از Hex Workshop چک سام رو حساب کنم و همون جا بنویسمش.
عکس:
حالا میخوام بدونم این الگوریتم چطوریه و چطوری باید حسابش کرد مثلا یه رشته بهش بدم بگه چک سام 32ـــش چقدره دقیقا مثل کاری که Hex Workshop داره انجام میده.
در ضمن من برای خوندن فایل از این کد استفاده میکنم(نتیجش رشته hex دقیقا همون چیزیه که من توی HexWorkshop دارم):
Dim hex As String = String.Join(" ", IO.File.ReadAllBytes("Masire FIle").Select(Function(b) b.ToString("X2")).ToArray)
توی انجمن VB که کسی جوابمو نداد امیدوارم انجا حداقل یکی یه کمک هرچند کوچیک کنه :افسرده:
مشکلی با C# ندارم میتونم تبدیلش کنم به وی بی :لبخند:
نقل قول: نحوه حساب کردن Cheksum32 ؟!
فکر کنم بتونه بهت کمک کنه
using System.IO;
using System.Security.Cryptography;
private static string GetChecksum(string file)
{
using (FileStream stream = File.OpenRead(file))
{
SHA256Managed sha = new SHA256Managed();
byte[] checksum = sha.ComputeHash(stream);
return BitConverter.ToString(checksum).Replace("-", String.Empty);
}
}
http://stackoverflow.com/questions/1...les-in-c-sharp