Concepts de base du chiffrement
Ce guide explique les concepts cryptographiques utilises par le SDK.
Algorithmes utilises
| Algorithme | Usage | Taille de cle |
|---|---|---|
| AES-256 | Chiffrement des donnees | 256 bits |
| RSA | Echange de cles | 2048+ bits |
| SHA-512 | Hachage/Integrite | 512 bits |
| SHA-256 | Hachage rapide | 256 bits |
| MD5 | Verification legacy | 128 bits |
Generation de cles AES
using SecureExchangesSDK.Helpers;
// Generer une paire cle/IV
var keys = CryptoHelper.GenerateAESKeys();
byte[] key = keys.Key; // 32 bytes (256 bits)
byte[] iv = keys.IV; // 16 bytes (128 bits)
// Ou en Base64
string base64Key = keys.Base64Key;
string base64IV = keys.Base64IV;
Chiffrement de donnees
Chiffrement de texte
// Chiffrer
string plainText = "Donnees sensibles";
byte[] encrypted = CryptoHelper.EncryptStringToBytes(plainText, key, iv);
string base64Encrypted = Convert.ToBase64String(encrypted);
// Dechiffrer
byte[] encryptedBytes = Convert.FromBase64String(base64Encrypted);
string decrypted = CryptoHelper.DecryptStringFromBytes(encryptedBytes, key, iv);
Chiffrement de donnees binaires
// Chiffrer des bytes
byte[] data = File.ReadAllBytes("document.pdf");
byte[] encrypted = CryptoHelper.EncryptBinary(data, key, iv);
// Dechiffrer
byte[] decrypted = CryptoHelper.DecryptBinary(encrypted, key, iv);
Hachage
// SHA-512 d'un fichier
string sha512 = CryptoHelper.GetSHA512OfFile(@"C:\document.pdf");
// SHA-512 de bytes
string sha512 = CryptoHelper.GetSHA512HashOfBytes(data);
// SHA-512 d'une chaine
string sha512 = CryptoHelper.GetSHA512HashOfString("texte");
// MD5 d'un fichier (pour compatibilite)
string md5 = CryptoHelper.GetMD5HashOfFile(@"C:\document.pdf");