One Logo Pool Ball
CryptoKit · IOS API REFERENCE

SHA3_256

struct · iOS 26.0+ · SDK 27.1

struct SHA3_256

An implementation of Secure Hashing Algorithm 3 (SHA-3) hashing with a 256-bit digest. The ``SHA3_256`` hash implements the ``HashFunction`` protocol for the specific case of SHA-3 hashing with a 256-bit digest (``SHA3_256Digest``). Larger digests take more space but are more secure. Applications can compute the digest by calling the static ``hash(data:)`` method once. Alternatively, if the data to hash is too large to fit in memory, applications can compute the digest iteratively by creating a new hash instance, calling the ``update(data:)`` method repeatedly with blocks of data, and then calling the ``finalize()`` method to get the result.

Members (5)

get · iOS 26.0+

blockByteCount

TypeScript
static get blockByteCount(): number
Swift declaration
static let blockByteCount: Int

The number of bytes that represents the hash function’s internal state.

method · iOS 26.0+

update

TypeScript
update(bufferPointer: ArrayBuffer): void
Swift declaration
mutating func update(bufferPointer: UnsafeRawBufferPointer)

Incrementally updates the hash function with the contents of the buffer. Call this method one or more times to provide data to the hash function in blocks. After providing the last block of data, call the ``finalize()`` method to get the computed digest. Don’t call the update method again after finalizing the hash function. - Note: Typically, it’s safer to use an instance of <doc://com.apple.documentation/documentation/foundation/data>, or some other type that conforms to the <doc://com.apple.documentation/documentation/foundation/dataprotocol>, to hold your data. When possible, use the ``update(data:)`` method instead. - Parameters: - bufferPointer: A pointer to the next block of data for the ongoing digest calculation.

method · iOS 26.0+

finalize

TypeScript
finalize(): SHA3_256Digest
Swift declaration
func finalize() -> SHA3_256.Digest

Finalizes the hash function and returns the computed digest. Call this method after you provide the hash function with all the data to hash by making one or more calls to the ``update(data:)`` or ``update(bufferPointer:)`` method. After finalizing the hash function, discard it. To compute a new digest, create a new hash function with a call to the ``init()`` method. - Returns: The computed digest of the data.

get · iOS 26.0+

byteCount

TypeScript
static get byteCount(): number
Swift declaration
static let byteCount: Int

The number of bytes in a SHA3-256 digest.

init · iOS 26.0+

init

TypeScript
static init(): SHA3_256
Swift declaration
init()

Creates a SHA3-256 hash function. Initialize a new hash function by calling this method if you want to hash data iteratively, such as when you don’t have a buffer large enough to hold all the data at once. Provide data blocks to the hash function using the ``update(data:)`` or ``update(bufferPointer:)`` method. After providing all the data, call ``finalize()`` to get the digest. If your data fits into a single buffer, you can use the ``hash(data:)`` method instead, to compute the digest in a single call.

Skipped declarations

No declarations were skipped in this snapshot.

All CryptoKit types →