swift - एन्क्रिप्टेड डेटा को स्ट्रिंग में परिवर्तित नहीं किया जा सकता



encryption (1)

एन्क्रिप्टेड डेटा एक बाइनरी ब्लॉब है, और ज्यादातर मामलों में मान्य UTF-8 अनुक्रम नहीं है। इसलिए एक स्ट्रिंग में रूपांतरण

String(data: encrypted_data, encoding: .utf8)

असफल और रिटर्न nil यदि आप एन्क्रिप्टेड डेटा की स्ट्रिंग का प्रतिनिधित्व करना चाहते हैं तो आप बेस64 एन्कोडिंग (उदाहरण के लिए) का उपयोग कर सकते हैं:

print(encrypted_data.base64EncodedString())

या, का उपयोग कर

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

हेक्स-एन्कोडेड स्ट्रिंग के रूप में , हेक्स स्ट्रिंग को स्विफ्ट में बदलने के लिए कैसे करें :

print(encrypted_data.hexEncodedString())

मैं 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))

यह 'निल' प्रिंट करता है मैं encrypted_data को स्ट्रिंग में कैसे परिवर्तित कर सकता हूं?

इसके अलावा, यह काम करता है :

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

लेकिन यह मूल पाठ है और सिफर पाठ नहीं है।





encryption