Criptare robe

di il
6 risposte

Criptare robe

Ciao, ho bisogno di 1/2 forse 3 consigli o delucidazioni. Se all’interno di un’applicazione inserisco dei dati utili per aggiornare la stessa, creando un account ftp collegato solo ed esclusivamente ad 1 specifica directory (la stessa che conterrà i dati utili), ha senso criptare nome utente e password?
I file salvati non vengono visualizzati da chi possiede questa applicazione.

Altra cosa, se voglio criptare una stringa, che senso avrebbe passare, ad esempio, login e password ad un metodo, se poi questi dati nel codice sorgente si leggono in chiaro?

Esempio sha256

public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(sha256("ma quanto è bella questa password"));
	}

public static String sha256(String base) {
	    try{
	        MessageDigest digest = MessageDigest.getInstance("SHA-256");
	        byte[] hash = digest.digest(base.getBytes("UTF-8"));
	        StringBuffer hexString = new StringBuffer();

	        for (int i = 0; i < hash.length; i++) {
	            String hex = Integer.toHexString(0xff & hash[i]);
	            if(hex.length() == 1) hexString.append('0');
	            hexString.append(hex);
	        }

	        return hexString.toString();
	    } catch(Exception ex){
	       throw new RuntimeException(ex);
	    }
	}	
Che mi restituirà ? 987a49aea1785f4e924cd8f8365482c63ec1f44a9f7ed99f6ab3bab7961dbd82

Io credo che se un utente malintenzionato vuole “smontarmi” l’applicazione (riuscendo con i suoi bei strumenti passati generosamente da alcune famose distro Linux), vedrà ugualmente questi dati, o sbaglio?

Invece l’utente che utilizzerà solo l’applicazione per quello che è stata sviluppata, non avrà di certo accesso al codice sorgente.

Mi sarò spiegato abbastanza bene?

Insomma la domanda è «Quanto conviene criptare una password, per un’applicazione che scarica dei dati utili solo alla stessa?»

6 Risposte

  • Re: Criptare robe

  • Re: Criptare robe

    Scusa ma ftp invia i dati in chiaro. Basta intercettare il traffico internet e non c'è bisogno di altro. Tempo : 20 secondi circa
  • Re: Criptare robe

    Andrea sì, in realtà intendevo una cosa del genere, questo è l’esempio più “banale” che ho trovato:
    
    public static String encrypt(String strClearText,String strKey) throws Exception{
    		String strData="";
    		
    		try {
    			SecretKeySpec skeyspec=new SecretKeySpec(strKey.getBytes(),"Blowfish");
    			Cipher cipher=Cipher.getInstance("Blowfish");			
    			cipher.init(Cipher.ENCRYPT_MODE, skeyspec);
    			byte[] encrypted=cipher.doFinal(strClearText.getBytes());
    			strData=new String(encrypted);
    			
    		} catch (Exception e) {
    			e.printStackTrace();
    			throw new Exception(e);
    		}
    		return strData;
    	}	
    
    	
    	public static String decrypt(String strEncrypted,String strKey) throws Exception{
    		String strData="";
    		
    		try {
    			SecretKeySpec skeyspec=new SecretKeySpec(strKey.getBytes(),"Blowfish");
    			Cipher cipher=Cipher.getInstance("Blowfish");
    			cipher.init(Cipher.DECRYPT_MODE, skeyspec);
    			byte[] decrypted=cipher.doFinal(strEncrypted.getBytes());
    			strData=new String(decrypted);
    			
    		} catch (Exception e) {
    			e.printStackTrace();
    			throw new Exception(e);
    		}
    		return strData;
    	}
    
    Anche se poi nella realtà mi da un'errore, ...ho visto comunque che esistono diversi modi per criptare e decriptare delle stringhe.

    Ad ogni modo, avevo postato l’hash perché per quello che volevo intendere andava bene (che si vede in chiaro, nel codice sorgente).

    +m2+ Ho creato un account, ma non mi permette una connessione criptata sicura, ammenoché non inserisca i dati amministratore, e non mi sembra il caso.

    Ma la sostanza è la stessa, secondo voi per un’applicazione che non salva/richiede informazioni personali di alcun tipo, vale la pena nascondere login e password?
  • Re: Criptare robe

    La sostanza è diversa.
    va stabilito se e cosa, e perché, prima di come.
    Parliamo di applicazione LAN o wan?
  • Re: Criptare robe

    Già, detta così non è molto chiara.

    Allora, in passato per gli aggiornamenti delle mie app (Android), sfruttavo uno spazio hosting utilizzato per altre cose (sostanzialmente siti web, blog che trattano argomenti generici), creando una sottodirectory, dove inserivo alcuni dati.
    Dal momento che questa è stata una scelta provvisoria, avevo pensato di utilizzare un servizio S/FTP, invece di http://www.sitoprova/dati/app/qualcos… più semplicemente ftp.nomedominio.com, , eccetera.

    Ti ricordi che avevo posto delle domande in un'altra sezione? ebbene, nel frattempo sono andato avanti a fare altro, ma prima o poi mi tocca affrontare questa questione, così ho deciso di cominciare a muovermi.
  • Re: Criptare robe

    Allora è un'applicazione WAN. Cosa vuoi impedire? Che qualcuno si connetta al sito remoto per scaricare i dati?
Devi accedere o registrarti per scrivere nel forum
6 risposte