Cifratura delle stringhe
Babel Obfuscator può cifrare le stringhe inline del codice con algoritmi di cifratura delle stringhe integrati. Oltre a questi algoritmi integrati, Babel permette di implementare algoritmi personalizzati per le stringhe tramite codice esterno o plugin. In questo modo puoi creare metodi di cifratura tuoi, adatti alle tue esigenze specifiche.
Configurare la cifratura delle stringhe
Per configurare la cifratura delle stringhe con Babel Obfuscator devi scegliere un algoritmo di cifratura e impostarlo per la tua applicazione. Babel include gli algoritmi XOR, HASH e STREAM, pronti all’uso. Puoi selezionare uno qualsiasi dei tre in Babel Desktop, con le opzioni della riga di comando o nel tuo file di progetto MSBuild. Se nessuno fa al caso tuo, puoi implementare metodi di cifratura delle stringhe personalizzati.
Che tu scelga gli algoritmi integrati o un’implementazione personalizzata, configurare la cifratura delle stringhe migliora la sicurezza della tua applicazione, perché protegge le stringhe sensibili da intercettazioni o manipolazioni dirette.
Distribuisci su host con FIPS abilitato? Gli algoritmi XOR e HASH decifrano le stringhe in fase di esecuzione tramite il provider crittografico della piattaforma, quindi un container in esecuzione su un host con FIPS abilitato senza un provider FIPS di OpenSSL certificato può non avviarsi. Vedi Conformità FIPS per la causa e la soluzione. L’algoritmo STREAM non è interessato: il suo decifratore è interamente gestito e non chiama mai il provider crittografico della piattaforma.
Cifratura delle stringhe const
Un limite di Babel Obfuscator è che non può cifrare le stringhe costanti (const), perché vengono compilate nei metadati dell’applicazione e sono quindi direttamente accessibili al CLR in fase di esecuzione. Per poter cifrare queste stringhe, devi convertirle in campi static readonly (in C#) o Shared ReadOnly (in VB.NET). In questo modo Babel Obfuscator può elaborare e cifrare tali stringhe, e la tua applicazione è più sicura perché le informazioni sensibili non restano esposte in chiaro.
// Strings declared const cannot be encrypted
public const string Connection = "Server=myServerAddress;Database=myDB;...";
// To encrypt, convert the above declaration to static readonly
public static readonly string Connection = "Server=myServerAddress;Database=myDB;...";
Babel Desktop
In Babel Desktop, seleziona l’assembly sul canvas del progetto e scegli l’algoritmo (xor, hash, stream o custom) per StringEncryption nel gruppo Cifratura codice del pannello delle proprietà . L’elenco propone solo gli algoritmi inclusi nella tua licenza. Per custom, i metodi EncryptString e DecryptString devono essere definiti nel tuo codice.
In questa sezione
- Algoritmi standard: gli algoritmi integrati XOR, HASH e STREAM, come abilitare ciascuno e un confronto affiancato che ti aiuta a scegliere.
- Algoritmo personalizzato: implementa i tuoi metodi
EncryptString/DecryptStringper cifrare le stringhe con un algoritmo a tua scelta.