Spanish [SOLUCIONADO] DBUtils VS File.DirInternal a la hora de almacenar la BD.

Seneca

Active Member
Licensed User
Hola.

Por lo que he ido leyendo, entiendo que usar File.DirInternal es una buena opción para almacenar una BD y dejarla fuera del alcance de los usuarios curiosos que indaguen entre las carpetas del dispositivo.

Por otro lado, vengo usando DBUtils y compruebo que este código solo usa File.DirInternal si otra opción no está disponible:

B4X:
'Returns the path to a folder where you can create a database, preferably on the secondary storage.
Public Sub GetDBFolder As String
    Dim rp As RuntimePermissions
    If File.ExternalWritable Then Return rp.GetSafeDirDefaultExternal("") Else Return File.DirInternal
End Sub

Es fácil modificar DBUtils para usar File.DirInternal de forma predeterminada, pero me preocupa que en una futura actualización pierda ese cambio y me olvide rehacerlo.

¿Qué me recomendáis, teniendo en cuenta que lo que busco es dejar la BD lo más escondida posible?

Saludos.
 

ELCHARO

Member
Licensed User
Longtime User
Si queres creas una copia de la funcion a tu proyecto y la renombras por ejemplo GetDBFolder2 , modificala tranquilo que solo sacando el 2 volves a la original.
La seguridad de la base esta en la encriptacion no en la ubicacion del archivo. De cualquier manera en el desarrollo es el menor problema que tenes, es facil reubicar a otro directorio. Preocupate de que funcione y sea estable antes que nada.
 

Seneca

Active Member
Licensed User
Hola.

Sí, aunque aún no he llegado al asunto de le encriptación, sé que es una fase fundamental.

Gracias por el aporte.

Saludos.
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Séneca:

Lo que dice ELCHARO es lo fundamental, por que si la encriptas no hará falta que la escondas.

Puedes mientras la encriptas hacer varias cosas, renombrala con una extensión que no sea de base de datos, te la puedes inventar, luego la mueves y renombras a donde te interese para su tratamiento.
Y otra cosa, cuanto mas visible la pongas menos te la encontraran :D , por que se hará "invisible" por serlo tanto, yo cuando quiero que un fichero no me lo miren, lo encripto, le pongo un nombre y una extensión "rara" y lo meto en una carpeta del dispositivo que puede ser el raiz, el raiz de Android, o creas una carpeta en la raiz con un nombre que no de pistas a tu App. La gente cuando quiere curiosear lo hace en la carpeta de instalación, no se le ocurre mirar en otros sitios y entre otras cosas por que si ven un fichero que no le da ninguna pista no sabran de que App es o si es del sistema.


Saludos
 
Top