Merge pull request #91920 from dmipeck/fix-hashing-context-example

Fix hashing context example
This commit is contained in:
Rémi Verschelde 2024-06-27 10:05:50 +02:00
commit 51a6bc1f11
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -20,8 +20,9 @@
# Open the file to hash. # Open the file to hash.
var file = FileAccess.open(path, FileAccess.READ) var file = FileAccess.open(path, FileAccess.READ)
# Update the context after reading each chunk. # Update the context after reading each chunk.
while not file.eof_reached(): while file.get_position() < file.get_length():
ctx.update(file.get_buffer(CHUNK_SIZE)) var remaining = file.get_length() - file.get_position()
ctx.update(file.get_buffer(min(remaining, CHUNK_SIZE)))
# Get the computed hash. # Get the computed hash.
var res = ctx.finish() var res = ctx.finish()
# Print the result as hex string and array. # Print the result as hex string and array.
@ -43,9 +44,10 @@
// Open the file to hash. // Open the file to hash.
using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read); using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);
// Update the context after reading each chunk. // Update the context after reading each chunk.
while (!file.EofReached()) while (file.GetPosition() < file.GetLength())
{ {
ctx.Update(file.GetBuffer(ChunkSize)); int remaining = (int)(file.GetLength() - file.GetPosition());
ctx.Update(file.GetBuffer(Mathf.Min(remaining, ChunkSize)));
} }
// Get the computed hash. // Get the computed hash.
byte[] res = ctx.Finish(); byte[] res = ctx.Finish();