[英]c# get md5 hash of an embedded resource before extracting it
我们有一个嵌入式资源,在提取文件之前需要获取文件的md5哈希值,以便知道它是否与现有文件不同(因为如果我们必须提取它来比较它们,最好替换掉直接归档)
任何建议表示赞赏
它是哪种嵌入式资源? 如果可以使用Assembly.GetManifestResourceStream()
,那么最简单的方法是:
using (Stream stream = Assembly.GetManifestResourceStream(...))
{
using (MD5 md5 = MD5.Create())
{
byte[] hash = md5.ComputeHash(stream);
}
}
如果那没有帮助,请提供更多有关您正常访问/提取资源的信息。
您可以使用MemoryStream
using (MemoryStream ms = new MemoryStream(Properties.Resources.MyZipFile))
{
using (System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create())
{
byte[] hash = md5.ComputeHash(ms);
string str = Convert.ToBase64String(hash);
// result for example: WgWKWcyl2YwlF/C8yLU9XQ==
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.