ios - 如何使用 ECDH 加密快速创建 64 字节公钥和 32 字节私钥?
问题描述
我必须保护我的锁免受 MITM(即中间人攻击)。为此,我必须整合ECDH encryption
。我没有这方面的知识。请帮助我如何创建64 bytes public
和32 byte private
键入。下面是我正在尝试的代码
var publicKeySec, privateKeySec: SecKey?
let keyattribute = [
kSecAttrKeyType as String: kSecAttrKeyTypeEC,
kSecAttrKeySizeInBits as String : 256
] as CFDictionary
SecKeyGeneratePair(keyattribute, &publicKeySec, &privateKeySec)
var error:Unmanaged<CFError>?
if let publicCfdata = SecKeyCopyExternalRepresentation(publicKeySec!, &error) {
let data:Data = publicCfdata as Data
print(data)
let b64Key = data.base64EncodedString()
print(b64Key)
}
if let privateCfdata = SecKeyCopyExternalRepresentation(privateKeySec!, &error) {
let data:Data = privateCfdata as Data
print(data)
let b64Key = data.base64EncodedString()
print(b64Key)
}
请帮我。提前致谢。
解决方案
推荐阅读
- css - 如何使用粘性将 div 和表头都固定在页面顶部?
- php - 在 Joomla 上登录并调用管理组件功能
- google-sheets - 无论较大时期内的样本数量如何,将 Google 表格中的数据系列平均到每个时期的单个条目?
- powerbi - 有没有办法显示某个时间范围内的值的总和(例如:2 天)?
- network-programming - 如何减慢服务人员的速度以模拟 56k 或 2G 3G 慢速连接
- python - 带有 matplotlib 的 Tkinter - 热图颜色条不与其余轴一起清除
- basic - 如何将此其他条件添加到此代码中?
- c# - VS C# tcp server/listener 得到错误 1053 服务在作为 Windows 服务运行时没有及时响应
- c# - 是否有用于创建剃须刀视图的 Model First ASP.core 框架
- google-apps-script - 为什么我看不到新版本的谷歌应用脚本编辑器?