2017-05-10 2 views
0

CryptoSwift와 같은 많은 라이브러리를 사용하여 Swift3에서 AES256 암호화를 시도했지만 올바른 결과를 얻을 수 없었습니다.AES256은 Swift3에서 암호화합니다.

let aes = try AES(key: anykey, iv: "") 
    let ciphertext = try aes.encrypt(data) 

시도하려는 모드는 다음과 같습니다.

Algorithm: Rijndael-256 
MODE:  ECB 
IV: NULL 

내 코드에서 실수 또는 Swift3에서 AES256의 암호화에 대한 더 좋은 방법이 있다면, 제발 대답.

답변

1

RNCryptor은 AES256 암호화 및 암호 해독에 유용한 프레임 워크입니다.

// Encryption 
let data ... // Some data you want to encrypt 
let password = "0Bfy8q9475jgjjbsu" 
let ciphertext = RNCryptor.encryptData(data, password: password) 

// Decryption 
do { 
    let originalData = try RNCryptor.decryptData(ciphertext, password: password) 

} catch let error { 
    print("Can not Decrypt With Error: \n\(error)\n") 
} 
+0

감사합니다. 시도해 보겠습니다. –

+1

예. 그것은 여러 프로젝트에서 전에 사용했습니다. 일단 당신이 그것을 발사 해 얻으면 그것은 단지 플러그 앤 플레이입니다. 처음에는 몇 가지 초기 문제가있었습니다. 자세한 내용은 내 질문을 참조하십시오. http://stackoverflow.com/q/40685174/3911918 –

+0

이 API를 사용하면 App Store에서 수락합니다. –

0

RNCryptor가 래핑하는 CommonCrypto C 라이브러리를 사용해 볼 수도 있습니다. Xcode는 표준으로 제공됩니다. 불행히도 빠른 프레임 워크 설정이 없습니다. 이 프로젝트는 빠른 사용을위한 프레임 워크를 만듭니다. https://github.com/sergejp/CommonCrypto/tree/master/CommonCrypto

CommonCrypto 라이브러리 https://github.com/adam-fowler/swift-library/blob/master/data/aes.swift을 사용하여 예제 코드를 찾을 수 있습니다.

+0

경고 : 최종 링크가 작동하지 않습니다. –

+1

링크 바로 가기 – Spads

관련 문제