/// <summary>
/// 获取文件的信息摘要
/// SHA256
/// </summary>
/// <param name="aPath"></param>
/// <returns></returns>
public static string GetSHA256(string aPath) {
using (SHA256 bSHA256 = SHA256.Create())
{
//获取文件
FileStream bFileStream = File.OpenRead(aPath);
// 确保它位于流的开头。
bFileStream.Position = 0;
//计算fileStream的hash。
byte[] bValue = bSHA256.ComputeHash(bFileStream);
//关闭文件
bFileStream.Close();
return Byte2Str(bValue);
}
}
/// <summary>
/// 获取文件信息摘要
/// SHA512
/// </summary>
/// <param name="aPath"></param>
/// <returns></returns>
public static string GetSHA512(string aPath)
{
using (SHA512 bSHA512 = SHA512.Create())
{
//获取文件
FileStream bFileStream = File.OpenRead(aPath);
// 确保它位于流的开头。
bFileStream.Position = 0;
//计算fileStream的hash。
byte[] bValue = bSHA512.ComputeHash(bFileStream);
//关闭文件
bFileStream.Close();
return Byte2Str(bValue);
}
}
/// <summary>
/// 二进制转字符串
/// </summary>
/// <param name="aValue"></param>
/// <returns></returns>
private static string Byte2Str(byte[] aValue)
{
StringBuilder builder = new StringBuilder();
for (int i = 0; i < aValue.Length; i++)
{
builder.Append($"{aValue[i]:X2}");
}
return builder.ToString();
}
C# 获取文件的信息摘要
最新推荐文章于 2025-03-10 20:17:27 发布