我想打乱一个包含用户 UID 的字符串,因此无法使用数据库对其进行跟踪。 我还希望这应该是一个一致的模式,所以不会随机打乱字母 - 如果用户更改设备,该函数的结果应该仍然相同。
但是,我不想添加 CryptoSwift就是为了这个
这只是为了提高可读性,同时也是为了确保相同的用户发帖基本上是在数据库中的相同位置。所以不会有与此相关的安全问题。它只会用于匿名化一些数据。
UID 可能如下所示 "0bb0fca0-1e89-429f-901a-1413894d9f59"
我怎样才能以最好的方式实现这一点?
我正在考虑添加素数或使用某种“黑匣子”来仅向函数发送一个字符串并取回另一个字符串。字符串的大小或应该如何完成并不重要
最佳答案
我找到了一个很好的解决方案。有一个人制作了一个没有任何第三方库的单个文件 MD5 转换器,名为 MD5 Digest
那么这个库就可以这样使用了
let input = "0bb0fca0-1e89-429f-901a-1413894d9f59"
let md5 = input.utf8.md5
print(md5)
这给出了结果:
4a89b58cb43b3eecd289c1d093b48bd0
这正是我想要的,可以重新创建的东西,但仍然根据我发送的字符串得出用户无法连接到发送的字符串的结果。
关于ios - 在 Swift 中打乱字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50018703/