无法将加密数据转换为字符串

2023-12-13

我正在尝试学习使用 RNCryptor。这是我正在使用的:

let key = "1234"
let original_text = "hello"
let data = original_text.data(using: .utf8)!
let encrypted_data = RNCryptor.encrypt(data: data, withPassword: key)

print(String(data: encrypted_data, encoding: .utf8))

这会打印“nil”。我怎样才能转换encrypted_data到一个字符串?

还有,这个does work:

try! print(String(data: RNCryptor.decrypt(data: encrypted_data, withPassword: key), encoding: .utf8))

但这是原文而不是密文。


加密数据是二进制 blob,并且在大多数情况下not一个有效的 UTF-8 序列。因此转换为字符串

String(data: encrypted_data, encoding: .utf8)

失败并返回nil。如果你想要一个字符串表示 加密数据然后您可以使用(例如)Base64 编码:

print(encrypted_data.base64EncodedString())

或者,使用

extension Data {
    func hexEncodedString() -> String {
        return map { String(format: "%02hhx", $0) }.joined()
    }
}

from 如何在 swift 中将数据转换为十六进制字符串,作为十六进制编码的字符串:

print(encrypted_data.hexEncodedString())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法将加密数据转换为字符串 的相关文章

  • Swift 中的柯里函数

    我想创建一个返回柯里函数的函数 如下所示 func addTwoNumbers a Int b Int gt Int return a b addTwoNumbers 4 b 6 Result 10 var add4 addTwoNumbe
  • Xcode 10 Beta 5 — clang:错误:链接器命令失败,退出代码为 1

    有人可以帮我吗 我的项目一切正常 但更新到 Xcode10 Beta5 后 尝试在 iPhone 上运行该应用程序时出现此错误 然而模拟器可以工作 请帮助我 我已经对这个问题进行了网络搜索并发现this https stackoverflo
  • iOS 防止计时器 UILabel 在数字变化时“晃动”

    我有一个UILabel它以以下格式显示计时器的输出MM ss SS 分 秒 厘秒 但是随着厘秒宽度的变化 它从左向右 摇动 例如 11 比 33 窄 有什么办法可以减轻这种情况吗 我尝试过将其居中 给它固定的宽度 但它们似乎没有帮助 从iO
  • 如何使用完成处理程序等待 firestore 请求的完成

    我正在慢慢地了解完成处理程序 如果我有一个 firestore 查询 如果我想使用完成处理程序 则有点向后工作 当 firestore 查询完成时 我必须使用completion 但它的设置功能仍然让我感到困惑 因此 如果这是一个将闭包作为
  • 用于字数计算的 Swift String 中的字数

    我想做一个程序来找出字符串中有多少个单词 用空格 逗号或其他字符分隔 然后把总数加起来 我正在制作一个平均计算器 所以我想要数据总数 然后将所有单词相加 update Xcode 10 2 x Swift 5 或更高版本 使用基础方法enu
  • 在 Swift 中使用 CommonCrypto 解密时出现问题

    我在一家Swift only加密 解密Extension for String and NSData 并且 crypt 部分的工作基于 Zaph 在链接问题中提供的答案 在 Swift 中使用 CCCrypt CommonCrypt 时出现
  • SKNode 上的 runAction 未完成

    我使用 NSOperation 子类来获取串行执行SKAction正如这个问题中所描述的 如何在 Swift 中子类化 NSOperation 以将 SKAction 对象排队以进行串行执行 https stackoverflow com
  • CGPoint 标量乘法 Swift

    我正在 SpriteKit 中构建一个平台游戏 并将为我的实体实现更新功能 以便它们根据重力和速度移动 但是 我需要使添加的速度量与增量时间成比例 以防止帧速率影响我的实体的移动方式 因此我将导入 GLKit 以便我可以使用标量函数 但是
  • iOS 13 beta 外部屏幕上的 OverscanCompensation

    我正在测试一个应用程序的测试版 但遇到了外部屏幕的问题 我们看到应用程序周围有黑色边框 我们之前可以通过设置来纠正它overscanCompensation to none但在 iOS 13 中 该设置根本没有任何效果 我们曾经看到一个错误
  • 我可以/如何用 RC3 替换我的 KVO 东西?

    我正在尝试将一个使用 Facebook 的 KVOController 的 objc 应用程序移植到 Swift 我被鼓励去看看RC3 https github com ReactiveCocoa ReactiveCocoa作为一种替代且更
  • 在 swrevealcontroller 之前实现登录屏幕

    我刚刚开始学习 IOS 开发 我已经按照给定的在线教程成功实现了 SWRevealViewController 一切都按预期工作 然后 我决定添加一个登录屏幕 这将是应用程序运行时用户看到的第一个页面 我采取的步骤如下 将 UIViewCo
  • 使用 PBKDF2 和 SHA256 生成 128 位 AES 密钥是否安全?

    我想使用 PBKDF2 和一些加密哈希函数来生成 128 位 AES 密钥 SHA1 也是 128 位 所以我想将其与 PBKDF2 一起使用 但它已损坏 所以我选择使用 SHA256 这是否安全 或者散列大小和生成的密钥大小之间的差异是否
  • 如何防止 RealmSwift 列表中出现重复项?

    如何防止向列表中添加重复项RealmSwift 我有我的User作为领域对象 但真正的数据源是服务器 只是使用领域在本地缓存用户 当我从服务器获取当前用户数据时 我想确保存储在领域中的用户拥有来自服务器的所有播放列表 以及它们的曲目列表等
  • 在 iOS 11 中创建 Gif 图像颜色贴图

    最近 我在创建 Gif 时遇到了一个问题 如果它太大 颜色就会丢失 然而 感谢 SO 的帮助 有人能够帮助我找到解决方法并创建我自己的颜色图 上一个问题在这里 保存动画 Gif 时 iOS 颜色不正确 https stackoverflow
  • Swift 3 错误:[_SwiftValue pointSize] 无法识别的选择器发送到实例

    我刚刚将我们的项目迁移到 swift 3 发现由于一个问题导致大量崩溃 由于未捕获的异常 NSInvalidArgumentException 而终止应用程序 原因 SwiftValue pointSize 发送到实例的无法识别的选择器 该
  • Transit MKDirectionsRequest 产生 null 错误 Error Domain=MKErrorDomain Code=5 "(null)"

    我正在尝试使用 MapKit Directions Request 来获取两个坐标之间的交通方向 当我切换到其他 非 Transit 类型时 下面的代码可以工作 但是当我切换到 Transit 时 它会抛出一个错误 该错误在 Apple 文
  • RSACryptoServiceProvider 使用自己的公钥和私钥进行加密和解密

    据我所知 对于非对称加密 您可以使用公钥加密明文并使用私钥解密 所以我尝试了以下方法 static void Main string args RSACryptoServiceProvider rsa new RSACryptoServic
  • 在 Swift 中自动移动 UISlider

    我想在按下按钮时将 UISlider 从 minValue 循环移动到 maxValue 并在再次按下按钮时将其停止在当前位置 我想使用 Swift 我遇到的主要问题是函数 slider setValue 太快了 我希望动画更慢 IBAct
  • xcode 6.1 (Swift) 中的 SIGABRT 运行时错误

    与最初的代码相比 唯一的更改是在ViewControl swift override func viewDidLoad newMessage hidden true super viewDidLoad Do any additional s
  • 退出导航控制器

    我试图离开初始视图控制器 并进入空白视图控制器 这很好 但是这会使空白视图控制器也成为导航控制器的一部分 这不是我想要的 我想脱离视图控制器 在视图控制器中 我尝试退出 它会自行弹出 当我尝试视图中的方法时 将出现目标视图控制器 self

随机推荐

  • 调整字体大小后 Webview 高度不改变

    在我的应用程序中 我使用 ScrollView 这个ScrollView包含了很多Webview 我更改网络视图字体大小 webView getSettings setTextSize WebSettings TextSize LARGER
  • 使用 PKCS#8 编码的私钥创建兼容的 Java“RSA”签名

    我有 pkcs8 rsa private key 文件 它是由 openssl 从 rsa private key pem 文件生成的 我需要在python中通过私钥进行签名 使用下面的java代码进行相同的签名 public static
  • 面积图中的颜色变化

    我有一个扩展 AreaChart 的 Java 类 我想实现一种方法 或多或少是这样的 public void addNewColorToData xCoordinate yCoordinate redColor greenColor bl
  • 如何在普通 Python 3 中监听原始以太网帧?

    我正在用 Python 进行一些自学的低级网络编程 我在用着乌班图18 04 and Python 3 使用此代码 我可以发送原始以太网数据包 from socket import socket as Socket AF PACKET SO
  • 查找文本节点

    是否有一个聪明的 jQuery 选择器来选择这样的文本节点 div div
  • 如何从命令行获取正确的 Windows 版本

    如何从命令行 包括 PowerShell 获取正确的 Windows 版本 正如我尝试过的所有解决方案 答案如何从 PowerShell 命令行查找 Windows 版本 但现在没有人能够给出这个 您可以从注册表中检索它 gt e g 22
  • Java持久化API中FetchType LAZY和EAGER的区别?

    有什么区别FetchType LAZY and FetchType EAGER在 Java 持久性 API 中 有时您有两个实体 并且它们之间存在关系 例如 您可能有一个名为University另一个实体称为Student一所大学可能有很多
  • 如何在 Flutter 中使用 BottomNavigationBar 维护 Webview 状态

    我正在创建一个 Flutter 应用程序 它使用 BottomNavigationBar 在页面之间进行更改 在其中一个页面中 我有一个 Webview 我正在使用plugin由 Flutter 开发团队开发 当我导航到另一个选项卡然后返回
  • 这是创建审计跟踪的最佳方法吗?

    我正在尝试创建一些功能 以保留给定用户表单中的数据如何随时间变化的审计跟踪 并在该页面的底部提供带日期的审计 例如 02 04 09 21 49 名称从 Tom 更改为 Chris 我这样做的方法是将数据以其当前格式存储在会话中 然后在保存
  • X64 指令在不同 CPU 上表现不同

    在一次采访中 我被问到是否知道 x64 指令的行为取决于所使用的 CPU 我在任何地方都找不到任何相关文档 有谁知道这些指令是什么以及为什么会出现这种情况 有一些留下一个寄存器或一些带有未定义值的标志 英特尔和AMD 在这方面可能有所不同
  • FirebaseMessaging.instance.getInitialMessage() 不适用于启动画面

    在 GetX 状态管理的帮助下 我已将 Firebase Cloud Messaging 集成到我的 Flutter 移动应用中 我还使用 Laravel 和 Firebase Admin SDK 向我的应用程序发送通知 该通知在前台状态和
  • Dialogflow 将企业版 v2 集成到 ios 和 android 应用程序中

    我之前使用的是v1版本的dialogflow 然后他们宣布将暂停它 我将云函数中的代码迁移到了v2 但我找不到将其集成到 ios 和 android 应用程序中的方法 请帮帮我 谢谢 要将代理更新到 V2 您应该创建一个 Cloud Fun
  • 如何将 DataTable 设置为 DataGridComboBoxColum 的 ItemsSource?

    我有一个包含两列的 DataTable 我将它们绑定到 DataGridComboBoxColumn 的所有组合框 其中一列将是项目的文本 其他列将是项目的值 我知道名为 DisplayMemberPath 的属性是我将列的名称指定为项目文
  • WPF 颜色插值

    我正在尝试基于调色板绘制 WPF 控件的背景 其中每种颜色都分配有值 例如 红色 0 深绿 10 绿色 20 浅绿 30 和用户选择的值 例如 25 会给出最终的颜色 我希望生成的颜色是 2 个最接近的颜色值之间的插值 例如 对于 25 的
  • v-on:点击目标不在正确的元素中?

    我正在尝试对锚标记 使用 jQuery 做一些事情 比如在单击时更改它的颜色 但我似乎无法获得正确的目标 a span entry 1 span span entry 2 span a The 事件目标in action 是第一个或第二个跨
  • 在一个窗口中打开多个链接,然后在另一个窗口中打开多个链接

    有没有办法在浏览器中打开一堆3 4个链接window以及另外一堆 3 4 个链接另一个窗口 例如 链接 A facebook com instagram com twitter com 应在浏览器窗口中打开 chrome and 链接 B
  • 加密算法在 Android 2.1 和 2.1 以上版本上给出不同的结果

    在发布这个问题之前我已经搜索了很多 早些时候 代码可以在非 android 4 2 2 1 设备上运行 然后我用谷歌搜索并介绍了以下代码行 这部分解决了这个问题 即它现在可以在 4 2 设备上运行 但不能在 Froyo 上运行 if and
  • 如何使dialogFragment宽度与父级匹配?

    我有这个dialog fragmentt 我有两个问题 1 如何使宽度与父级匹配 请提供最干净 最好的解决方案 In the dialog fragment我有一个编辑文本 当对话框片段打开时 如何使其弹出软键盘 希望大家能够帮忙 这是我的
  • 使用 getDrawingCache 时是否有最大位图大小?

    我正在尝试创建文本的位图TextView 过去我用过这样做getDrawingCache 但是 现在我需要创建一个位图TextView文本比以前长得多 这正在造成getDrawingCache抛出 NullPointerException
  • 无法将加密数据转换为字符串

    我正在尝试学习使用 RNCryptor 这是我正在使用的 let key 1234 let original text hello let data original text data using utf8 let encrypted d