2011-12-23 2 views
0

저는 일부 iOS 프로그램을 작성하려고하는 아주 새롭고 프로그래머이며, 데이터를 암호화해야하는 부분에 도달했을 때 나는 안개가 짙고 문서화되지 않은 벽을 만났습니다. 애플은 분명히 데이터를 암호화하는데 필요한 모든 툴을 제공하지만 어디서나 그것에 관해 쓰지는 않는다. 현재 나는 https://github.com/AlanQuatermain/aqtoolkit에있는 것들을 실험하고 있는데, 분명히 작동합니다. 그러나 나는 http://robnapier.net/blog/aes-commoncrypto-564에서 사용자가 선택한 암호를 암호화 키로 사용하면 안되지만이 라이브러리와 다른 사용자의 암호를 직접 사용하는 사람들의 예를 보았습니다. 이 기능이 여기에 적용됩니까? 사용하기 전에 작은 허들 경주를 통해 사용자 비밀번호를 사용해야합니까?iOS의 암호화에 대한 혼란

+0

아 감사합니다. 나는 그 문서를 놓쳤다. – Serendipity

답변

2

암호 해시를 암호 키의 해시로 사용하는 것이 좋습니다. 한 가지 이유는 알고리즘마다 길이가 다른 키가 필요할 수 있고 적절한 해싱 알고리즘 (예 : AES256의 경우 SHA256)을 선택하면 적절한 길이의 키를 자동으로 가져 오는 것입니다.

+0

빠른 답변 주셔서 감사합니다. 해시 함수의 코드 나 예제는 어디에서 찾을 수 있습니까? 아니면 내가 직접 글쓰기를해야 할 것인가? (만약 내가 정말로 어리석은 소리를 낸다면, 아마도 내가이 점에 있기 때문일 것이다.) – Serendipity

+0

언급 한 라이브러리가 해싱을위한 쉬운 방법을 제공한다. https://github.com/AlanQuatermain/aqtoolkit/blob/master/CommonCrypto/NSData+CommonCrypto.h에서 살펴보십시오. – zlajo

+0

"AES256EncryptedDataUsingKey : @"passwordHere "etc"로 데이터를 암호화하고 있습니다. 분명히 잘못되었지만, .h에서 해시 함수를 사용하는 데는 아무런 아이디어가 없습니다. 제발 설명 할만큼 충분히 참을성 있으십니까? – Serendipity