这是使用Base64的加密字符串 - >
(ew0KICAiTmV3c0dyYXBoIjogWw0KICAgIHsNCiAgICAgICJEYXRlIjogIjA0LUZlYiIsDQogICAgICAiTmV3c1Njb3JlIjogNTAuMCwNCiAgICAgICJUYWJsZU5hbWUiOiAiTmV3c0dyYXBoIg0KICAgIH0sDQogICAge)
以下是解密字符串
的扩展方法extension String
{
func fromBase64() -> String
{
let data = NSData.init(base64Encoded: self, options: []) ?? NSData()
return String(data: data as Data, encoding: String.Encoding.utf8) ?? ""
}
}
我的文本视图中没有输出,但您将获得相同字符串的解密输出 - > https://www.base64decode.org
但是如果我从加密字符串中获取子字符串 - >
ew0KICAiTmV3c0dyYXBoIjogWw0KICAgIHsNCiAgICAgICJEYXRlIjogIjA0LUZlYiIsDQogICAgICAiTmV3c1Njb3JlIjogNTAuMCwNCiAgICAgICJUYWJsZU5hbWUiOiAiTmV3c0dyYXBoIg0KICAgIH0sDQog
然后我的代码返回解密的字符串。 有什么问题? 请任何人
答案 0 :(得分:1)
示例:
删除最后一个字符以创建有效长度。
首先将Base64字符串解码为Data,然后编码为aUTF-8字符串。
let base64 = "ew0KICAiTmV3c0dyYXBoIjogWw0KICAgIHsNCiAgICAgICJEYXRlIjogIjA0LUZlYiIsDQogICAgICAiTmV3c1Njb3JlIjogNTAuMCwNCiAgICAgICJUYWJsZU5hbWUiOiAiTmV3c0dyYXBoIg0KICAgIH0sDQogICAg"
let decodedData = Data(base64Encoded: base64)!
let decodedString = String(data: decodedData, encoding: .utf8)
print(decodedString!)
结果:
{ "NewsGraph": [ { "Date": "04-Feb", "NewsScore": 50.0, "TableName": "NewsGraph" },
问题中的Base64字符串似乎不完整且已被截断。