아래 코드를 사용하여 클라이언트 측 암호화가 포함 된 aws s3 버킷에 비디오를 업로드했습니다. aws에서 콘텐츠를 업로드 할 때 AES256 키와 md5 키가 필요합니다. 먼저, 광고 모음 CryptoSwift을 추가하십시오.
이제 아래 코드에서 AES256 & md5 키를 생성하십시오.
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)
}
이제 aws의 업로드 요청에 다음 두 줄을 추가하십시오.
uploadRequest?.sseCustomerKey = "Your base64 string of AES 256 key" uploadRequest?.sseCustomerKeyMD5 = "Your base64 string of md5"