1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- //
- // PACS.swift
- // MCPlus
- //
- // Created by seo ha on 14/02/2019.
- // Copyright © 2019 KangSH. All rights reserved.
- //
- import Foundation
- struct PACS:Codable{
- var serverUrl:String?
- var userId:String?
- var userPw:String?
- var product:String?
- var pId:String?
- var accno:String?
- var returnUrl:String?
- var type:String?
- // var studyInstanceUid:String?
-
- enum CodingKeys: String, CodingKey {
- // case serverUrl = "PACS_APP_SERVER_URL"
- case serverUrl = "returnurl"
- case userId = "user_id"
- case userPw = "user_pw"
- case pId = "pid"
- case accno
- case type
- // case studyInstanceUid = "study_instance_uid"
- }
-
- init(from decoder: Decoder) throws {
- let values = try decoder.container(keyedBy: CodingKeys.self)
- serverUrl = try values.decode(String.self, forKey: .serverUrl)
- returnUrl = Constants.PACS_APP_RETURN_URL
- product = Constants.PACS_APP_PRODUCT
- userId = try values.decode(String.self, forKey: .userId)
- userPw = try values.decode(String.self, forKey: .userPw)
- pId = try values.decode(String.self, forKey: .pId)
- accno = try values.decode(String.self, forKey: .accno)
- // studyInstanceUid = try values.decode(String.self, forKey: .studyInstanceUid)
- type = try values.decode(String.self, forKey: .type)
- // 파라미터를 암호화
- // AES 설명 http://olooi.tistory.com/entry/AES-%EC%95%94%ED%98%B8%ED%99%94
- // test site : http://aesencryption.net/#Java-aes-encryption-example
- // self.encryption(Constants.PACS_APP_ENC_KEY)
- self.aesEncryption(Constants.PACS_APP_ENC_KEY)
-
- }
-
- mutating func aesEncryption(_ key:String){
- print("################################")
- do {
- self.serverUrl = try serverUrl?.aesEncrypt()
- self.userId = try userId?.aesEncrypt()
- self.userPw = try userPw?.aesEncrypt()
- // self.product = product?.encryptWithKey(key: key)
- self.pId = try pId?.aesEncrypt()
- self.accno = try accno?.aesEncrypt()
- self.returnUrl = try returnUrl?.aesEncrypt()
- self.type = try type?.aesEncrypt()
- // self.studyInstanceUid = studyInstanceUid?.encryptWithKey(key: key)
- } catch {
-
- }
- }
-
- mutating func encryption(_ key:String){
- self.serverUrl = serverUrl?.encryptWithKey(key: key)
- self.userId = userId?.encryptWithKey(key: key)
- self.userPw = userPw?.encryptWithKey(key: key)
- // self.product = product?.encryptWithKey(key: key)
- self.pId = pId?.encryptWithKey(key: key)
- self.accno = accno?.encryptWithKey(key: key)
- self.returnUrl = returnUrl?.encryptWithKey(key: key)
- self.type = type?.encryptWithKey(key: key)
- // self.studyInstanceUid = studyInstanceUid?.encryptWithKey(key: key)
- }
- }
|