Add helper methods for hex string printing

This commit is contained in:
Matt Nadareski
2023-11-16 23:16:53 -05:00
parent a87602b015
commit 68075a7186
3 changed files with 22 additions and 9 deletions

View File

@@ -1,4 +1,6 @@
namespace psxt001z
using System;
namespace psxt001z
{
/// <see href="https://github.com/Dremora/psxt001z/blob/master/common.h"/>
public partial class LibCrypt
@@ -16,5 +18,17 @@
/// Byte to BCD
/// </summary>
internal static byte IntegerToBinary(byte i) => (byte)(i / 10 * 16 + i % 10);
/// <summary>
/// Get a santized hex string from an input byte array
/// </summary>
internal static string GetHexString(byte[] bytes) =>
BitConverter.ToString(bytes).Replace("-", string.Empty);
/// <summary>
/// Get a santized hex string from an input byte array
/// </summary>
internal static string GetHexString(byte[] bytes, int startIndex, int length) =>
BitConverter.ToString(bytes, startIndex, length).Replace("-", string.Empty);
}
}

View File

@@ -170,7 +170,7 @@ namespace psxt001z
//if (buffer[10] != sub[10] || buffer[11] != sub[11] || buffer[3] != sub[3] || buffer[7] != sub[7] || buffer[4] != sub[4] || buffer[8] != sub[8] || buffer[5] != sub[5] || buffer[9] != sub[9]) {
if (!buffer.Take(6).SequenceEqual(sub.Take(6)) || !buffer.Skip(7).Take(5).SequenceEqual(sub.Skip(7).Take(5)))
{
Console.WriteLine($"MSF: {BitConverter.ToString(sub, 7, 3).Replace("-", string.Empty)} Q-Data: {BitConverter.ToString(buffer, 0, 3).Replace("-", string.Empty)} {BitConverter.ToString(buffer, 3, 3).Replace("-", string.Empty)} {BitConverter.ToString(buffer, 6, 1)} {BitConverter.ToString(buffer, 7, 1)}:{BitConverter.ToString(buffer, 8, 1)}:{BitConverter.ToString(buffer, 9, 1)} {BitConverter.ToString(buffer, 10, 2).Replace("-", string.Empty)} xor {crc ^ ((buffer[10] << 8) + buffer[11]):4x} {CRC16.Calculate(buffer, 0, 10) ^ ((buffer[10] << 8) + buffer[11]):4x}");
Console.WriteLine($"MSF: {GetHexString(sub, 7, 3)} Q-Data: {GetHexString(buffer, 0, 3)} {GetHexString(buffer, 3, 3)} {GetHexString(buffer, 6, 1)} {GetHexString(buffer, 7, 1)}:{GetHexString(buffer, 8, 1)}:{GetHexString(buffer, 9, 1)} {GetHexString(buffer, 10, 2)} xor {crc ^ ((buffer[10] << 8) + buffer[11]):4x} {CRC16.Calculate(buffer, 0, 10) ^ ((buffer[10] << 8) + buffer[11]):4x}");
//Console.WriteLine("\nMSF: %02x:%02x:%02x Q-Data: %02x%02x%02x %02x:%02x:%02x %02x %02x:%02x:%02x %02x%02x", sub[7], sub[8], sub[9], sub[0], sub[1], sub[2], sub[3], sub[4], sub[5], sub[6], sub[7], sub[8], sub[9], sub[10], sub[11]);
if (buffer[3] != sub[3] && buffer[7] != sub[7] && buffer[4] == sub[4] && buffer[8] == sub[8] && buffer[5] == sub[5] && buffer[9] == sub[9])
@@ -223,9 +223,9 @@ namespace psxt001z
sub[10] = (byte)(crc >> 8);
sub[11] = (byte)(crc & 0xFF);
Console.WriteLine($"{lc_addresses[i]} {BitConverter.ToString(sub, 7, 3).Replace("-", string.Empty)}");
Console.WriteLine($" {BitConverter.ToString(sub, 0, 10).Replace("-", string.Empty)} {BitConverter.ToString(sub, 10, 2).Replace("-", string.Empty)}");
Console.WriteLine($" {BitConverter.ToString(lc1_sectors_contents, i * 12, 10).Replace("-", string.Empty)} {BitConverter.ToString(lc1_sectors_contents, i * 12 + 10, 2).Replace("-", string.Empty)}");
Console.WriteLine($"{lc_addresses[i]} {GetHexString(sub, 7, 3)}");
Console.WriteLine($" {GetHexString(sub, 0, 10)} {GetHexString(sub, 10, 2)}");
Console.WriteLine($" {GetHexString(lc1_sectors_contents, i * 12, 10)} {GetHexString(lc1_sectors_contents, i * 12 + 10, 2)}");
d = 0;

View File

@@ -504,10 +504,9 @@ namespace psxt001z
md5.TransformFinalBlock(digest, 0, digest.Length);
sha1.TransformFinalBlock(Message_Digest, 0, Message_Digest.Length);
Console.Write($"\rCRC-32: {crc.Hash:8x} \n");
Console.Write($"MD5: {BitConverter.ToString(md5.Hash!).Replace("-", string.Empty)}");
Console.WriteLine($"MD5: {BitConverter.ToString(md5.Hash!).Replace("-", string.Empty)}");
Console.WriteLine($"SHA-1: {BitConverter.ToString(sha1.Hash!).Replace("-", string.Empty)}");
Console.WriteLine($"\rCRC-32: {crc.Hash:8x} \n");
Console.WriteLine($"MD5: {GetHexString(md5.Hash!)}");
Console.WriteLine($"SHA-1: {GetHexString(sha1.Hash!)}");
Console.WriteLine();
return 1;
}