2012-05-03 5 views
0

C 언어 (ndk)로 AES를 사용하여 문자열을 암호화하거나 해독해야합니다. 안드로이드 용 openssl을 컴파일하는 방법에 대해 많은 질문을 보았습니다. openssl이 이미 android에서 언제 제공되는지 알고 싶습니다. 우리는 C에서 동일한 암호화를 사용합니까? 그렇지 않다면, 나는 전체 openssl lib를 컴파일해야합니다, 거기 ndk를 사용하여 안드로이드 표준 암호화에 사용할 수있는 다른 가벼운 lib 무엇입니까?openssl 기반 안드로이드 AES 암호화

답변

2

Openssl for Android는 NDK의 일부가 아니므로 즉시 사용할 수 없습니다. 그러나 Google은 외부 라이브러리로 NDK 코드베이스를 제공합니다 (https://github.com/android/platform_external_openssl 참조). 그것을 컴파일 한 다음 사용해야합니다. 그렇다면 Building Android openssl using NDK doesn't make arm4 assembly files properly을 살펴보십시오.

가벼운 라이브러리의 경우 C에서 http://en.wikipedia.org/wiki/AES_implementations#C.2FASM_library 페이지의 AES 구현 목록을 찾을 수 있습니다. 그러나 대부분의 라이브러리는 풍부한 기능을 제공하므로 사용하지 않을 코드가 많습니다. 대신 참조 AES 구현을 코드에 직접 삽입하여 대신 사용할 수 있습니다. 이러한 구현 중 하나는 http://embeddedsw.net/Cipher_Reference_Home.html에서 찾을 수 있습니다.

+0

하지만 openssl은 android os에서 사용할 수 있습니다. –

+0

NDK에는 openssl의 헤더 또는 libs가 포함되어 있지 않습니다. Google은 NDK 컴파일 소스를 제공합니다. 따라서 NDK를 사용하여 프로그램을 빌드하는 경우 openssl lib 파일을 직접 빌드해야합니다. "$ NDK_ROOT | grep -i ssl 찾기"를 시도하십시오. – Samveen

+0

Sandeep 님이이 문제에 도움이 되었습니까? 이 질문에 대답하여 공유하십시오. 나는 같은 문제에 직면하고있다. 고마워. – png