feat: added hashes of data source files
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
using System.Xml;
|
using System.Xml;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using System.Security.Cryptography;
|
||||||
|
|
||||||
namespace gaseous_identifier.classes
|
namespace gaseous_identifier.classes
|
||||||
{
|
{
|
||||||
@@ -76,6 +77,17 @@ namespace gaseous_identifier.classes
|
|||||||
} while (reader.EndOfStream == false);
|
} while (reader.EndOfStream == false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// get hashes of TOSEC file
|
||||||
|
var xmlStream = File.OpenRead(XMLFile);
|
||||||
|
|
||||||
|
var md5 = MD5.Create();
|
||||||
|
byte[] md5HashByte = md5.ComputeHash(xmlStream);
|
||||||
|
string md5Hash = BitConverter.ToString(md5HashByte).Replace("-", "").ToLowerInvariant();
|
||||||
|
|
||||||
|
var sha1 = SHA1.Create();
|
||||||
|
byte[] sha1HashByte = sha1.ComputeHash(xmlStream);
|
||||||
|
string sha1Hash = BitConverter.ToString(md5HashByte).Replace("-", "").ToLowerInvariant();
|
||||||
|
|
||||||
// load TOSEC file
|
// load TOSEC file
|
||||||
XmlDocument tosecXmlDoc = new XmlDocument();
|
XmlDocument tosecXmlDoc = new XmlDocument();
|
||||||
tosecXmlDoc.Load(XMLFile);
|
tosecXmlDoc.Load(XMLFile);
|
||||||
@@ -85,6 +97,8 @@ namespace gaseous_identifier.classes
|
|||||||
// get header
|
// get header
|
||||||
XmlNode xmlHeader = tosecXmlDoc.DocumentElement.SelectSingleNode("/datafile/header");
|
XmlNode xmlHeader = tosecXmlDoc.DocumentElement.SelectSingleNode("/datafile/header");
|
||||||
tosecObject.SourceType = "TOSEC";
|
tosecObject.SourceType = "TOSEC";
|
||||||
|
tosecObject.SourceMd5 = md5Hash;
|
||||||
|
tosecObject.SourceSHA1 = sha1Hash;
|
||||||
foreach (XmlNode childNode in xmlHeader.ChildNodes)
|
foreach (XmlNode childNode in xmlHeader.ChildNodes)
|
||||||
{
|
{
|
||||||
switch (childNode.Name.ToLower())
|
switch (childNode.Name.ToLower())
|
||||||
|
@@ -19,6 +19,8 @@ namespace gaseous_identifier.objects
|
|||||||
public string? Homepage { get; set; }
|
public string? Homepage { get; set; }
|
||||||
public Uri? Url { get; set; }
|
public Uri? Url { get; set; }
|
||||||
public string? SourceType { get; set; }
|
public string? SourceType { get; set; }
|
||||||
|
public string SourceMd5 { get; set; } = "";
|
||||||
|
public string SourceSHA1 { get; set; } = "";
|
||||||
|
|
||||||
public List<Game> Games { get; set; } = new List<Game>();
|
public List<Game> Games { get; set; } = new List<Game>();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user