Alamofire을 통해 내 VM 서버에서 암호를 가져 오는 데 문제가 있습니다. 나는 서버에 요청을하고 있는데 소금을 돌려 주어야한다. 그래서 나는 암호를 해독하고, 해쉬 한 다음 서버로 다시 보낼 수있다.변수에 Alamofire 요청 데이터 저장
let salted_password = user_password + salt
let hash = salted_password.sha1()
을 user_password
은 여기서
문제는 내가 Alamofire 변수로, 수신, 소금을 저장하는 방법을 이해하지 못하는, 그래서 그냥처럼 암호에 추가하고 해시 수 있다는 것입니다 사용자가 암호 필드에 입력 한 내용과 salt
은 Alamofire 소금 요청에서 얻은 것입니다.
Binary operator '+' cannot be applied to operands of type 'String' and '()'.
그래서 변수에 요청 값을 저장 할 수 있습니다 :
func getSalt(completionHandler: @escaping (DataResponse<String>, Error?) -> Void) {
Alamofire.request("http://192.168.0.201/salt", method: .post, parameters: salt_parameters).responseString { response in
switch response.result {
case .success(let value):
completionHandler(response as DataResponse<String>, nil)
case .failure(let error):
completionHandler("Failure", error)
}
}
}
let salt = getSalt { response, responseError in
return response.result.value!
}
그것은 나에게 다음과 같은 오류를 제공합니다 : 여기
내 코드? 어떻게해야합니까?감사합니다.
'getSalt()'의 반환 값은 무엇입니까? 그것은 당신이 할 수없는 그 함수의 결과와'String'을 결합하려고 시도하는 것 같습니다 (당신이 어려운 방법을 발견했기 때문에) :) – pbodsk
당신이해야 할 일은 대신이 같은 것입니다. 'var salt : String ?; getSalt {response, responseError in salt = response.result.value; }' –
@ ZonilyJame 고마워요. 작동합니다! –