Merge commit '7621e2f8dec938cf48181c8b10afc9b01f444e68' into beta

This commit is contained in:
Ilya Laktyushin
2025-12-06 02:17:48 +04:00
commit 8344b97e03
28070 changed files with 7995182 additions and 0 deletions
@@ -0,0 +1,34 @@
import Foundation
public struct SecureIdValueAccessContext: Equatable {
let secret: Data
let id: Int64
public static func ==(lhs: SecureIdValueAccessContext, rhs: SecureIdValueAccessContext) -> Bool {
if lhs.secret != rhs.secret {
return false
}
if lhs.id != rhs.id {
return false
}
return true
}
}
public func generateSecureIdValueEmptyAccessContext() -> SecureIdValueAccessContext? {
return SecureIdValueAccessContext(secret: Data(), id: 0)
}
public func generateSecureIdValueAccessContext() -> SecureIdValueAccessContext? {
guard let secret = generateSecureSecretData() else {
return nil
}
let secretHashData = sha512Digest(secret)
var secretHash: Int64 = 0
secretHashData.withUnsafeBytes { rawBytes -> Void in
let bytes = rawBytes.baseAddress!.assumingMemoryBound(to: Int8.self)
memcpy(&secretHash, bytes.advanced(by: secretHashData.count - 8), 8)
}
return SecureIdValueAccessContext(secret: secret, id: secretHash)
}