2017-02-24 1 views
0

ist es verfügbar? Oder sollte ich meinen eigenen Algorithmus wählen, um Daten zu verschlüsseln und in den S3-Bucket hochzuladen? Ich habe eine Anforderung, eine Anwendung in Multiplattform (Android/C#/IOS) zu erstellen, in der wir Daten verschlüsseln und auf der Serverseite speichern müssen. . .So führen Sie die clientseitige Verschlüsselung in iOS AWS SDK durch?

Ich habe this Bibliothek versucht, Daten zu verschlüsseln, aber in iOS-Seite habe ich andere Ergebnisse als andere. . .

Antwort

0

Ich habe ein Video auf aws s3 Bucket mit clientseitige Verschlüsselung unter Verwendung von unten Code hochgeladen. Wir benötigen den AES256-Schlüssel und die md5-Taste, wenn wir Inhalte auf aws hochladen wollen. Fügen Sie zunächst den Pod CryptoSwift hinzu.

Jetzt generieren Sie die AES256 & MD5 Schlüssel von unten Code.

let input: Array<UInt8> = [0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9] 

    let key: Array<UInt8> = [0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00] 

    let iv: Array<UInt8> = AES.randomIV(AES.blockSize) 

    do { 
     let encrypted = try AES(key: key, iv: iv, blockMode: .CBC, padding: PKCS7()).encrypt(input) 
     let base64String: String = encrypted.toBase64()! 
     let md5Data = encrypted.md5() 
     let md5DataBase64 = md5Data.toBase64() 
     print("Encrypted:\(encrypted),\n Base64String:\(base64String)") 
     print("md5:\(md5Data),\n md5String:\(md5DataBase64)") 

    } catch { 
     print(error) 
    } 

Jetzt fügen Sie unter zwei Zeilen in Ihrer Upload-Anfrage von AWS.

uploadRequest?.sseCustomerKey = "Your base64 string of AES 256 key" uploadRequest?.sseCustomerKeyMD5 = "Your base64 string of md5"

Verwandte Themen