2017-12-05 6 views
0

아마추어 질문이라면 죄송합니다. 나는 그것에 대한 정답을 찾는 것 같다. swift의 동등한 안드로이드 (java)는 무엇입니까?String.data to java (Swift)

방법은 무엇입니까?

덕분에 많은

편집 :

나는 다음과 같은 방법의 자바 버전을 만드는 오전 : 나는 조금을 재생 그래서

guard let data = "\(user):\(password)".data(using: .utf8) else { return nil } 

let credential = data.base64EncodedString(options: []) 

return (key: "Authorization", value: "Basic \(credential)") 
+2

무엇을해야합니까? – AxelH

+0

업데이트 내 질문 @AxelH – MetaSnarf

+1

나는 아직도해야 할 일을 이해하지 못한다 ...이 이상 – AxelH

답변

0

좋아요. 그럼 난에 기억의 Obj-C가 문자열 [] 문자열로 다시 변환하기 전에 배열을 바이트로 변환 문자열했다 그래서 내가 한으로 바이트 것을 NSData하고있는 NSData의 자바 상당의 madeup입니다 :

byte[] data = (user+":"+password).getBytes("utf-8"); 
String credential = Base64.encodeToString(data,Base64.DEFAULT); 
return new KeyValue("Authorization", "Basic "+credential); 

고마워요. 희망이 누구도 도움이됩니다.

+0

암호, 키 및 기타 보안 감각적 인 물건을 Java에서 String으로 사용하지 마십시오. 객체는 더 이상 사용되지 않아도 GC가 다음 단계로 넘어갈 때까지 일정하지 않은 시간 동안 살아 있습니다. 이 시간 동안이 중요한 데이터는 불필요하게 메모리에 보관되며 메모리 덤프에 취약합니다. 정확한 접근법은 데이터를 다 처리 할 때 수동으로 데이터를 제로 아웃하는 것이지만,'String'은 불변이므로 불가능합니다. https://stackoverflow.com/questions/8881291/why-is-char-preferred-over-string-for-passwords를 참조하십시오. – Alexander