feat: added hashes of data source files
This commit is contained in:
		@@ -2,6 +2,7 @@
 | 
			
		||||
using System.Xml;
 | 
			
		||||
using System.IO;
 | 
			
		||||
using System.Reflection;
 | 
			
		||||
using System.Security.Cryptography;
 | 
			
		||||
 | 
			
		||||
namespace gaseous_identifier.classes
 | 
			
		||||
{
 | 
			
		||||
@@ -76,6 +77,17 @@ namespace gaseous_identifier.classes
 | 
			
		||||
                } 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
 | 
			
		||||
            XmlDocument tosecXmlDoc = new XmlDocument();
 | 
			
		||||
            tosecXmlDoc.Load(XMLFile);
 | 
			
		||||
@@ -85,6 +97,8 @@ namespace gaseous_identifier.classes
 | 
			
		||||
            // get header
 | 
			
		||||
            XmlNode xmlHeader = tosecXmlDoc.DocumentElement.SelectSingleNode("/datafile/header");
 | 
			
		||||
            tosecObject.SourceType = "TOSEC";
 | 
			
		||||
            tosecObject.SourceMd5 = md5Hash;
 | 
			
		||||
            tosecObject.SourceSHA1 = sha1Hash;
 | 
			
		||||
            foreach (XmlNode childNode in xmlHeader.ChildNodes)
 | 
			
		||||
            {
 | 
			
		||||
                switch (childNode.Name.ToLower())
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,8 @@ namespace gaseous_identifier.objects
 | 
			
		||||
        public string? Homepage { get; set; }
 | 
			
		||||
        public Uri? Url { 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>();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user