“UnsafePointer”无法转换为“UnsafePointer<_>”

2024-01-12

我正在做 TripleDES 加密和解密。出现此错误:

UnsafePointer<UInt8>' is not convertible to 'UnsafePointer<_>

我收到错误的代码是:

        let keyString        = "25d1d4cb0a08403e2acbcbe0"
        let keyData = keyString.data(using: .utf8)!
        let message       = pass
        let data = message.data(using: .utf8)!
        let cryptData    = NSMutableData(length: Int(data.count) + kCCBlockSize3DES)!
        let keyLength              = size_t(kCCKeySize3DES)
        let operation: CCOperation = UInt32(kCCEncrypt)
        let algoritm:  CCAlgorithm = UInt32(kCCAlgorithm3DES)
        let options:   CCOptions   = UInt32(kCCOptionECBMode + kCCOptionPKCS7Padding)

        var numBytesEncrypted :size_t = 0

        let cryptStatus = keyData.withUnsafeBytes { (keyBytes: UnsafePointer<UInt8>) in
            data.withUnsafeBytes { (dataBytes: UnsafePointer<UInt8>) in
                cryptData.withUnsafeMutableBytes { (cryptBytes: UnsafeMutablePointer<UInt8>) in
                    CCCrypt(operation,
                            algoritm,
                            options,
                            keyBytes,
                            keyLength,
                            nil,
                            dataBytes,
                            data.count,
                            cryptBytes,
                            cryptData.count,
                            &numBytesEncrypted)
                }
            }
        }

有人可以帮忙吗?


此错误消息是某种编译器错误的结果:编译器无法编译代码并发出无效且误导性的错误消息。另请参阅https://bugs.swift.org/browse/SR-5931 https://bugs.swift.org/browse/SR-5931

在大多数情况下,您可以:

  • 删除类型注释(<UInt8>)揭示真正的原因
  • 修复原因
  • 再次添加类型注释
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“UnsafePointer”无法转换为“UnsafePointer<_>” 的相关文章

随机推荐

  • 以编程方式添加过滤器和初始化参数

    我需要将 web xml 的内容复制到 WebAppInitializer class Java 配置类 我已经从 web xml 复制了 YahooFilter 类 请参阅代码 但我不确定如何实用地添加 init params 我已在下面
  • Mongodb 返回旧集合

    router post orders finish function req res next var order id req body order id var user id req body user id var table id
  • 在 Chart.js 图表的 x 轴上仅显示第 n 个刻度线

    我一直在寻找这个问题的解决方案一段时间 但由于大量已删除的文档和该库以前版本的黑客答案 我还没有接近解决方案 我正在使用 ChartJS v2 制作一个图表 x 轴上带有季度月份名称 并且我设置了标签 以便仅显示每 4 个标签 即每年一个
  • 我可以将 UILocalnotification 设置为每个月的最后一天重复吗?

    我想自己尝试一下 但我需要一个月的时间才能确定它是否有效 有人尝试过这个吗 NSDate fireDate Date I want to repeat in this case 31 may localNotification fireDa
  • 在 Javascript 测试中断言对象相等 (chai)

    我需要在 JavaScript 单元测试中断言两点之间相等 var pnt1 x 2 y 3 and var pnt2 x 2 y 3 当我做 assert equal pnt1 pnt2 据说要点不同 我可以从检查中排除对象是不同实例的事
  • std::function 构造函数和 nullptr

    为什么以下代码打印 0 作为输出 include
  • 无法获取系统目录 - hadoop

    使用hadoop多节点设置 1个主站 1个从站 在 master 上启动 start mapred sh 后 我在 TT 日志中发现以下错误 从属 org apache hadoop mapred TaskTracker 无法获取系统目录
  • 我可以覆盖 !important 吗? [复制]

    这个问题在这里已经有答案了 我正在尝试在元素上设置此 CSS background red important 但是当我尝试这样做时 background yellow 它仍然只显示红色而不是黄色 正如我希望的那样 我没有使用外部CSS 我
  • Elasticsearch 对多个索引进行评分

    我有一年中任何季度的索引 index 2015 1 index 2015 2 我的每个索引上都有大约 3000 万个文档 文档有一个文本字段 标题 我的文档排序方法是 1 score 2 创建日期 问题是 在所有索引 index 201 的
  • 压缩和解压缩文件和文件夹

    我需要使用 C C 压缩和解压缩 Windows Mobile 中的目录层次结构 什么是 最简单的库可用吗 我用谷歌搜索了很多次 我发现了一些东西 但我无法继续下去 如果您已经实施或者您了解一些相关内容 请告诉我 对于 NET SharpZ
  • 如何在 cypress.io 测试中可靠地等待页面空闲

    当使用 cypress io 测试 Angular 网页时 检测页面何时完全加载和空闲的最佳 最可靠方法是什么 不仅仅是 onload 事件 需要包括所有 XHR 请求 完成角度摘要循环以及完成所有渲染 包括完成所有动画 原因是 此时我想测
  • 如何使用“include”标签在 Django 中动态包含模板

    我有 10 个 html 文件 名称分别为 1 html 2 html etc 我想要的是根据一个变量 某个文件应该包含在模板中 e g if foo paid include foo customization foo id html e
  • 判断socket和fd之间的关系

    On unix 一切都是文件函数方法read write close Win32 不支持 我想模仿它 但不知道如何区分sock is socket or fd在 WinSocks2 上 returns 1 if sock is networ
  • 如何获取使用“array”邮件驱动程序发送的消息?

    从版本 5 7 开始 Laravel 建议使用array测试期间邮件驱动程序 很遗憾 文档 https laravel com docs 5 7 mail没有透露任何有关该驱动程序的信息 根据源代码 https github com lar
  • 如何在 Linq to SQL 中实现缓存?

    我们刚刚开始在 DAL 中使用 LINQ to SQL 而且我们还没有真正制定出缓存模型的标准 以前 我们使用了一个基 DAL 类 该类实现了所有 DAL 类继承的缓存管理器属性 但现在我们没有了 我想知道是否有人提出了一种 标准 方法来缓
  • Tensorflow 如何支持 Cuda 流?

    Tensorflow 是否自动利用 Cuda 流在单个 GPU 上并发执行计算图 还是应该将流手动分配给操作 张量 目前 TensorFlow 仅使用一个计算流和多个复制流 某些内核可能会选择使用多个流进行计算 同时保持单流语义 我们的实验
  • Sql Server中的大事务,有什么问题吗?

    我有一个程序 可以在一个事务中对 SQL Server 2005 或 2008 数据库执行许多批量操作 删除和创建索引 创建列 全表更新等 是否会出现任何问题 我知道即使在简单恢复模式下事务日志也会扩展 该程序在系统正常运行期间不会执行 因
  • 如何使用 PHPExcel 库中的打印就绪功能

    我正在使用 PHPExcel 库进行电子表格操作 我要应用打印就绪功能 有这个功能吗 如果您阅读了文档 https github com PHPOffice PHPExcel blob develop Documentation markd
  • 为什么我们需要 python 中的 dict.update() 方法而不是仅仅将值分配给相应的键?

    我一直在使用字典 我必须在代码的不同部分中修改它们 我试图确保我是否没有错过任何有关在任何情况下都不需要 dict update 的内容 因此 使用 update 方法的原因是向当前字典添加新的键值对 或者更新现有键值对的值 可是等等 难道
  • “UnsafePointer”无法转换为“UnsafePointer<_>”

    我正在做 TripleDES 加密和解密 出现此错误 UnsafePointer