Hay muchas maneras de proteger sus datos, dependiendo de lo bien que se desea que la protección sea. Para obtener una protección mínima contra los hackers ocasionales, puede utilizar un algoritmo de ofuscación para ofuscar y desactivar el contenido HTML como NSString
s. Aquí hay un example of doing that. No he usado ese código en particular, pero tampoco estoy realmente recomendando ofuscación como una técnica, a menos que los datos realmente no sean muy delicados.
La mejor solución es cifrar el contenido HTML, aunque eso es más trabajo, y puede implicar algún export control issues, dependiendo de dónde se encuentre, y donde se está distribuyendo su aplicación.
Para el cifrado, tiene muchas opciones.
1)Here is an open source implementation that provides a secure version of something like NSUserDefaults
. No veo un equivalente a registerDefaults:
en ese código, sin embargo, por lo que es posible que primero vez que se ejecute la aplicación, es posible que deba descargar el contenido de la web. Pero, entonces puede encriptarlo y almacenarlo en PDKeychainBindings
como un valor de cadena. En posteriores ejecuciones, a continuación, fue posible extraer el HTML almacenado "archivos" como esto:
NSString* webPageContent =
[[PDKeychainBindings sharedKeychainBindings] valueForKey: @"index.html"];
2) Aquí hay otro open source project that provides AES encryption wrappers.Debería escribir algún código que no sea de producción antes de liberar su aplicación para cifrar el contenido HTML en archivos de datos cifrados que serían recursos agrupados. Cuando se ejecuta su aplicación, abre los archivos y los descifra en objetos NSString
que se pueden dar a su UIWebView
a través de loadHTMLString: baseURL:
.
3) Finalmente, here's another example of using the underlying CommonCrypto APIs to protect bundle resources. Este ejemplo utiliza un paso de compilación personalizado para encriptar automáticamente recursos en una carpeta particular, lo que le ahorraría algo de tiempo si su contenido HTML protegido va a cambiar razonablemente a menudo.
Asumo que quiere decir "cifrar" y "descifrar" en la primera frase, ¿verdad? – abarnert
Sí, eso funciona. Actualizado. – pho0