• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

Android, crittografare dati velocemente con Encryption

By Giuseppe Maggi | on 24 Settembre 2018 | 0 Comment
Android
Android developers

In Android, è possibile utilizzare tutto il sottosistema di crittografia disponibile in Java. Tale comparto è particolarmente fornito e adatto ad ogni uso per crittografia sia simmetrica sia asimmetrica nonché certificati digitali però può risultare piuttosto dispersivo per chi necessita di un approccio rapido per salvare i propri dati in maniera più sicura. Per questo presentiamo una libreria efficace ma dall’approccio piuttosto rapido: Encryption.

Per farne uso in una nostra app dobbiamo, per prima cosa, includerla nel progetto Android Studio:

  • richiedendo di utilizzare il repository di JitPack:
    allprojects {
      repositories {
        ...
        maven { url 'https://jitpack.io' }
      }
    }
  • inserendo successivamente l’opportuna direttiva Gradle:
    compile 'com.github.simbiose:Encryption:2.0.0'

A questo punto, la si può utilizzare nel seguente modo:

String chiave= "mia password";
String salt = "una string da usare come Salt";
byte[] iv = new byte[16];
Encryption encryption = Encryption.getDefault(key, salt, iv);

String encrypted = encryption.encryptOrNull("Questa è la frase segreta che deve essere crittografata");

Le prime righe servono per inizializzare l’oggetto codificatore al quale abbiamo fornito la parola chiave da usare, il salt ed un vettore di inizializzazione per ridurre l’efficacia di attacchi finalizzati alla decodifica non autorizzata.

Per riportare in chiaro il nostro messaggio crittografato, conservato nella stringa encrypted, sarà sufficiente riutilizzare l’oggetto encryption nel seguente modo:

String decrypted = encryption.decryptOrNull(encrypted);

Inoltre, per una configurazione dell’oggetto Encryption più particolareggiata si può utilizzare l’approccio del Builder incluso:

Encryption encryption = new Encryption.Builder()
                .setKeyLength(128)
                .setKey("YourKey")
                .setSalt("YourSalt")
                .setIv(yourByteIvArray)
                .setCharsetName("UTF8")
                .setIterationCount(1)
                .setDigestAlgorithm("SHA1")
                .setBase64Mode(Base64.DEFAULT)
                .setAlgorithm("AES/CBC/PKCS5Padding")
                .setSecureRandomAlgorithm("SHA1PRNG")
                .setSecretKeyType("PBKDF2WithHmacSHA1")
                .build();

Considerando che le app mobile vengono eseguite in dispositivi portati al seguito e che rischiano di essere persi o rubati facilmente, la sicurezza dei dati in esse contenuti è molto importante ed una libreria di questo genere può aiutarci ad offrire funzionalità rassicuranti ai nostri utenti.

Provatela – se non l’avete ancora fatto – e fateci sapere cosa ne pensate.

Share this story:
  • tweet

Tags: crittografiasicurezza informatica

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment
  • Stringhe in Kotlin

    23 Agosto 2018 - 0 Comment

Related Posts

  • Come integrare HTTPS su Apache web server con Let’s Encrypt

    19 Febbraio 2018 - 0 Comment
  • Crittografia: concetti di base per ogni uso

    6 Dicembre 2017 - 0 Comment
  • Ufw: configurare velocemente un firewall per Linux

    26 Giugno 2017 - 0 Comment

Author Description

No Responses to “Android, crittografare dati velocemente con Encryption”

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO