Secure Exchanges SDK Documentation
Search Results for

    Show / Hide Table of Contents

    Chiffrement de fichiers

    Ce guide explique comment chiffrer et dechiffrer des fichiers avec le SDK.

    Format SECF

    Le SDK utilise le format .secf (Secure Exchanges Crypted File) pour les fichiers chiffres.

    Chiffrer un fichier

    Exemple rapide

    using SecureExchangesSDK.Helpers;
    
    byte[] key = CryptoHelper.GenerateSecureRandomByteArray(32);
    byte[] iv = CryptoHelper.GenerateSecureRandomByteArray(16);
    
    // Chiffre et cree fichier.pdf.secf
    bool success = CryptoHelper.EncryptSecfFile(@"C:\fichier.pdf", key, iv);
    

    Avec repertoire de sortie

    // Chiffre vers un repertoire specifique
    bool success = CryptoHelper.EncryptSecfFile(
        @"C:\source\fichier.pdf",
        @"C:\output",  // Repertoire de sortie
        key,
        iv
    );
    // Cree: C:\output\fichier.pdf.secf
    

    Dechiffrer un fichier

    // Dechiffre fichier.pdf.secf -> fichier.pdf
    bool success = CryptoHelper.DecryptSecfFile(@"C:\fichier.pdf.secf", key, iv);
    
    // Avec repertoire de sortie
    bool success = CryptoHelper.DecryptSecfFile(
        @"C:\fichier.pdf.secf",
        @"C:\output",
        key,
        iv
    );
    

    Exemple complet : Archivage securise

    public class SecureArchiveService
    {
        /// <summary>
        /// Archive un fichier de maniere securisee
        /// </summary>
        public ArchiveResult ArchiveFile(string filePath, string archivePath)
        {
            // Generer les cles
            byte[] key = CryptoHelper.GenerateSecureRandomByteArray(32);
            byte[] iv = CryptoHelper.GenerateSecureRandomByteArray(16);
    
            // Calculer le hash original
            string originalHash = CryptoHelper.GetSHA512OfFile(filePath);
    
            // Chiffrer
            bool encrypted = CryptoHelper.EncryptSecfFile(filePath, archivePath, key, iv);
    
            if (encrypted)
            {
                return new ArchiveResult
                {
                    Success = true,
                    EncryptedPath = Path.Combine(archivePath, Path.GetFileName(filePath) + ".secf"),
                    Key = Convert.ToBase64String(key),
                    IV = Convert.ToBase64String(iv),
                    OriginalHash = originalHash
                };
            }
    
            return new ArchiveResult { Success = false };
        }
    
        /// <summary>
        /// Restaure un fichier archive
        /// </summary>
        public bool RestoreFile(string encryptedPath, string outputPath, string base64Key, string base64IV)
        {
            byte[] key = Convert.FromBase64String(base64Key);
            byte[] iv = Convert.FromBase64String(base64IV);
    
            return CryptoHelper.DecryptSecfFile(encryptedPath, outputPath, key, iv);
        }
    }
    
    public class ArchiveResult
    {
        public bool Success { get; set; }
        public string EncryptedPath { get; set; }
        public string Key { get; set; }
        public string IV { get; set; }
        public string OriginalHash { get; set; }
    }
    

    Voir aussi

    • Concepts de base
    • Gestion des cles
    In this article
    Back to top Secure Exchanges Inc. - Documentation