【发布时间】:2017-05-30 09:32:13
【问题描述】:
我在我的 swift 应用程序中使用Cross-Platform-AES 进行 AES 加密/解密。我的加密工作正常。但是当我尝试解密服务返回值时,它并没有给我正确的结果。这里我是如何解密的。
public func decryptStrings(text:String)->String{
let hashKey=cryptoLib.sha256(key, length: 31)
let decryptedData = cryptoLib.decrypt(text.data(using: String.Encoding.utf8), key: hashKey, iv: iv)
let decryptedString=decryptedData?.base64EncodedString()
print("decryptedString \(decryptedString! as String)")
return decryptedString!
}
请解释我如何以正确的方式解密它。 谢谢
加密
public func base64Convertion (secretcode:String)->String
{
let hashKey=cryptoLib.sha256(key, length: 31)
let encryptedData=cryptoLib.encrypt(secretcode.data(using: String.Encoding.utf8), key: hashKey, iv: iv)
let encryptedString=encryptedData?.base64EncodedString()
print("encryptedString \(encryptedString! as String)")
return encryptedString!
}
【问题讨论】:
-
请说明您是如何加密的,并让我们知道输入示例。
-
您应该解码 Base64 编码字符串 解密数据。
-
@MartinR 我在解密之前添加了这一行 let decodedData = Data(base64Encoded: text, options: Data.Base64DecodingOptions()) 但仍然没有给出正确的值
-
谢谢它现在正在工作
-
@Randi 你能详细说明它是如何为你工作的吗?我仍然遇到解密问题
标签: swift encryption swift3 cryptography