Notice
Recent Posts
Recent Comments
Link
투케이2K
484. (ios/swift5) [CryptoSwift] 데이터 암복호화 라이브러리 사용해 AES192 복호화 수행 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[소스 코드]
// -----------------------------------------------------------------------------------------
// MARK: - [테스트 메인 함수 정의 실시]
// -----------------------------------------------------------------------------------------
func testMain() {
S_Log._D_(description: "테스트 함수 시작 실시", data: nil)
/*
// -------------------------------------------------------
[요약 설명]
// -------------------------------------------------------
1. CryptoSwift 라이브러리는 Ios 에서 간편하게 데이터 암복호화를 사용할 수 있는 라이브러리입니다
// -------------------------------------------------------
2. 필요 import : import CryptoSwift
// -------------------------------------------------------
3. CryptoSwift 라이브러리 Git 공식 사이트 : https://github.com/krzyzanowskim/CryptoSwift.git
// -------------------------------------------------------
4. 라이브러리 추가 방법 참고 사이트 : https://blog.naver.com/kkh0977/223414949598
// -------------------------------------------------------
*/
// [로직 처리 실시]
DispatchQueue.main.async {
do {
// [초기 변수 선언]
let str = "96Mzp/yW0lz/FjdWJkjljA=="
// [aes 인코딩 및 디코딩에 필요한 값 정의]
let aesKey = "0123456789abcdef01234567" // [24 바이트]
let key : [UInt8] = Array(aesKey.utf8)
//let aesIV = "" // [16 바이트]
//let iv : [UInt8] = Array(aesIV.utf8)
let iv : [UInt8] = Array(repeating: 0, count: 16) // [0 값 채우기]
// [aes 디코딩 수행] : [CBC]
let aes = try! AES(key: key, blockMode: CBC(iv: iv) as BlockMode, padding: .pkcs7)
let decrypted = try aes.decrypt(Array(base64: str))
let decodeStr = String(bytes: decrypted, encoding: .utf8)
// [로그 출력]
S_Log._D_(description: "로그 출력 수행", data: [
"str :: \(str)",
"key :: \(key)",
"iv :: \(iv)",
"decodeStr :: \(decodeStr ?? "")"
])
}
catch {
S_Log._D_(description: S_FinalMsg.LOG_BUG_STATE, data: [
"catch :: \(error.localizedDescription)"
])
}
}
}
[결과 출력]
반응형
'IOS' 카테고리의 다른 글
Comments