class-description NEWS COMMUNITY STORE TUTORIALS SIGN UP LOGIN LOGOUT ROKOJORI NEWSLETTER SIGN UP LOGIN LOGOUT NEWS COMMUNITY STORE TUTORIALS TOGGLE FULLSCREEN VOLLBILD AN/AUS ObjectRefCounted HashingContext
Provides functionality for computing cryptographic hashes chunk by chunk.

The HashingContext class provides an interface for computing cryptographic hashes over multiple iterations. Useful for computing hashes of big files (so you don't have to load them all in memory), network streams, and data streams in general (so you don't have to hold buffers).

The HashType enum shows the supported hashing algorithms.

const CHUNK_SIZE = 1024 func hash_file(path): # Check that file exists. if not FileAccess.file_exists(path): return # Start an SHA-256 context. var ctx = HashingContext.new() ctx.start(HashingContext.HASH_SHA256) # Open the file to hash. var file = FileAccess.open(path, FileAccess.READ) # Update the context after reading each chunk. while file.get_position() < file.get_length(): var remaining = file.get_length() - file.get_position() ctx.update(file.get_buffer(min(remaining, CHUNK_SIZE))) # Get the computed hash. var res = ctx.finish() # Print the result as hex string and array. printt(res.hex_encode(), Array(res))
Enum HashType<>():Enum

HASH_MD5 = 0

Hashing algorithm: MD5.


HASH_SHA1 = 1

Hashing algorithm: SHA-1.


HASH_SHA256 = 2

Hashing algorithm: SHA-256.

PackedByteArray finish<>():PackedByteArray

Closes the current context, and return the computed hash.

Error start<>( HashType type=, type:HashType=, ):Error

Starts a new hash computation of the given type (e.g. HASH_SHA256 to start computation of an SHA-256).

Error update<>( PackedByteArray chunk=, chunk:PackedByteArray=, ):Error

Updates the computation with the given chunk of data.




All social media brands are registrated trademarks and belong to their respective owners.





CONTACT IMPRINT TERMS OF USE PRIVACY © ROKOROJI ® 2021 rokojori.com
CONTACT IMPRINT TERMS OF USE PRIVACY © ROKOROJI ® 2021 rokojori.com
We are using cookies on this site. Read more... Wir benutzen Cookies auf dieser Seite. Mehr lesen...