One Logo Pool Ball
CryptoKit · IOS API REFERENCE

Insecure.SHA1

struct · iOS 13.0+ · SDK 27.1

struct SHA1

An implementation of SHA1 hashing. The ``SHA1`` hash implements the ``HashFunction`` protocol to produce a SHA1 digest (``SHA1Digest``). You can compute the digest by calling the static ``hash(data:)`` method once. Alternatively, if the data that you want to hash is too large to fit in memory, you 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. - Important: This hash algorithm isn’t considered cryptographically secure, but is provided for backward compatibility with older services that require it. For new services, prefer one of the secure hashes, like ``SHA512``.

Members (5)

get · iOS 13.2+

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 13.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 13.0+

finalize

TypeScript
finalize(): Insecure_SHA1Digest
Swift declaration
func finalize() -> Insecure.SHA1.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 13.0+

byteCount

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

The number of bytes in a SHA1 digest.

init · iOS 13.0+

init

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

Creates a SHA1 hash function. Initialize a new hash function by calling this method if you want to hash the 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 →