public SignatureStream(Stream inputStream, SignatureJobSettings settings) { this.inputStream = inputStream; inputReader = new BinaryReader(inputStream); this.settings = settings; InitializeHeader(); currentPosition = 0L; }
public SignatureStream(Stream inputStream, SignatureJobSettings settings) { this.inputStream = inputStream; this.inputReader = new BinaryReader(inputStream); this.settings = settings; // initialize the buffer with the header this.InitializeHeader(); this.currentPosition = 0; }
public static void WriteBlock(BinaryWriter s, byte[] block, SignatureJobSettings settings) { int num = CalculateWeakSum(block); if (settings.MagicNumber != MagicNumber.Blake2Signature) { throw new NotImplementedException("Non-blake2 hashes aren't supported"); } byte[] buffer = CalculateBlake2StrongSum(block); StreamHelpers.WriteBigEndian(s, (ulong)num); s.Write(buffer, 0, settings.StrongSumLength); }
public static void WriteBlock(BinaryWriter s, byte[] block, SignatureJobSettings settings) { int weakSum = CalculateWeakSum(block); byte[] strongSum; if (settings.MagicNumber == MagicNumber.Blake2Signature) { strongSum = CalculateBlake2StrongSum(block); } else { throw new NotImplementedException("Non-blake2 hashes aren't supported"); } StreamHelpers.WriteBigEndian(s, (ulong)weakSum, bytes: 4); s.Write(strongSum, 0, settings.StrongSumLength); }
public static Stream ComputeSignature(Stream inputFile, SignatureJobSettings settings) { return new SignatureStream(inputFile, settings); }
public static void WriteHeader(BinaryWriter s, SignatureJobSettings settings) { StreamHelpers.WriteBigEndian(s, (uint)settings.MagicNumber); StreamHelpers.WriteBigEndian(s, (uint)settings.BlockLength); StreamHelpers.WriteBigEndian(s, (uint)settings.StrongSumLength); }
public static Stream ComputeSignature(Stream inputFile, SignatureJobSettings settings) { return(new SignatureStream(inputFile, settings)); }