我只是RNCryptor的新手,但我得到了一個加密和base64編碼的示例字符串。我正在嘗試使用RNCryptor解密函數以純文本格式查看字符串。使用RNCryptor解密base64編碼和aes加密字符串
我試過如下:
func decryptStr(_ sample : String){
let sampleBase64Decoded = sample.fromBase64Data()
do {
let decryptedNSData = try RNCryptor.decrypt(data: sampleBase64Decoded!, withPassword: "secretPass")
let decryptedNSString = NSString(data: decryptedNSData, encoding: String.Encoding.utf8.rawValue)
print("decrypted : \(decryptedNSString)")
}
catch let error as NSError {
print("issue decrypting :\(error.localizedDescription)")
}
}
,我調用它像這樣:
decryptStr("R79gQDNTt/0+cjU7pduqfA==")
和fromBase64看起來像這樣:
extension String {
func fromBase64() -> String? {
guard let data = Data(base64Encoded: self, options: NSData.Base64DecodingOptions(rawValue: 0)) else {
return nil
}
return String(data: data, encoding: String.Encoding.utf8)!
}
}
我收到錯誤connect.RNCryptor.Error錯誤2.爲什麼會這樣?它是以任何方式與字符串都是基本64編碼和加密的事實有關?
密碼無誤。
加密是如何完成的?請注意,RNCryptor具有自己的格式,它被設計爲與RNCryptor加密的數據互操作。 – zaph