PACS.swift 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. //
  2. // PACS.swift
  3. // MCPlus
  4. //
  5. // Created by seo ha on 14/02/2019.
  6. // Copyright © 2019 KangSH. All rights reserved.
  7. //
  8. import Foundation
  9. struct PACS:Codable{
  10. var serverUrl:String?
  11. var userId:String?
  12. var userPw:String?
  13. var product:String?
  14. var pId:String?
  15. var accno:String?
  16. var returnUrl:String?
  17. var type:String?
  18. // var studyInstanceUid:String?
  19. enum CodingKeys: String, CodingKey {
  20. // case serverUrl = "PACS_APP_SERVER_URL"
  21. case serverUrl = "returnurl"
  22. case userId = "user_id"
  23. case userPw = "user_pw"
  24. case pId = "pid"
  25. case accno
  26. case type
  27. // case studyInstanceUid = "study_instance_uid"
  28. }
  29. init(from decoder: Decoder) throws {
  30. let values = try decoder.container(keyedBy: CodingKeys.self)
  31. serverUrl = try values.decode(String.self, forKey: .serverUrl)
  32. returnUrl = Constants.PACS_APP_RETURN_URL
  33. product = Constants.PACS_APP_PRODUCT
  34. userId = try values.decode(String.self, forKey: .userId)
  35. userPw = try values.decode(String.self, forKey: .userPw)
  36. pId = try values.decode(String.self, forKey: .pId)
  37. accno = try values.decode(String.self, forKey: .accno)
  38. // studyInstanceUid = try values.decode(String.self, forKey: .studyInstanceUid)
  39. type = try values.decode(String.self, forKey: .type)
  40. // 파라미터를 암호화
  41. // AES 설명 http://olooi.tistory.com/entry/AES-%EC%95%94%ED%98%B8%ED%99%94
  42. // test site : http://aesencryption.net/#Java-aes-encryption-example
  43. // self.encryption(Constants.PACS_APP_ENC_KEY)
  44. self.aesEncryption(Constants.PACS_APP_ENC_KEY)
  45. }
  46. mutating func aesEncryption(_ key:String){
  47. print("################################")
  48. do {
  49. self.serverUrl = try serverUrl?.aesEncrypt()
  50. self.userId = try userId?.aesEncrypt()
  51. self.userPw = try userPw?.aesEncrypt()
  52. // self.product = product?.encryptWithKey(key: key)
  53. self.pId = try pId?.aesEncrypt()
  54. self.accno = try accno?.aesEncrypt()
  55. self.returnUrl = try returnUrl?.aesEncrypt()
  56. self.type = try type?.aesEncrypt()
  57. // self.studyInstanceUid = studyInstanceUid?.encryptWithKey(key: key)
  58. } catch {
  59. }
  60. }
  61. mutating func encryption(_ key:String){
  62. self.serverUrl = serverUrl?.encryptWithKey(key: key)
  63. self.userId = userId?.encryptWithKey(key: key)
  64. self.userPw = userPw?.encryptWithKey(key: key)
  65. // self.product = product?.encryptWithKey(key: key)
  66. self.pId = pId?.encryptWithKey(key: key)
  67. self.accno = accno?.encryptWithKey(key: key)
  68. self.returnUrl = returnUrl?.encryptWithKey(key: key)
  69. self.type = type?.encryptWithKey(key: key)
  70. // self.studyInstanceUid = studyInstanceUid?.encryptWithKey(key: key)
  71. }
  72. }