26 lines
567 B
Swift
26 lines
567 B
Swift
//
|
|
// KeyGeneration.swift
|
|
//
|
|
// NativeCryptoPlugin
|
|
//
|
|
// Copyright (c) 2020
|
|
// Author: Hugo Pointcheval
|
|
//
|
|
import Foundation
|
|
|
|
class KeyGeneration {
|
|
func keygen(size : NSNumber) -> Data? {
|
|
var bytes = [Int8](repeating: 0, count: size.intValue / 8)
|
|
let status = SecRandomCopyBytes(kSecRandomDefault, bytes.count, &bytes)
|
|
|
|
if status == errSecSuccess {
|
|
let keyBytes = bytes.withUnsafeBytes {
|
|
return Data(Array($0))
|
|
|
|
}
|
|
return keyBytes
|
|
}
|
|
return nil
|
|
}
|
|
}
|