Exemple #1
0
        public static CryptoMeta CreateCrypto(string masterKey)
        {
            var decodedKey = Convert.FromBase64String(masterKey);
            var fileKey    = CreateSecureRandom(decodedKey.Length);
            var ivKey      = CreateSecureRandom(decodedKey.Length);

            if (_internalCryptoManager.KeySize != fileKey.Length)
            {
                _internalCryptoManager = C.GetOrCreate(fileKey.Length);
            }

            return(new CryptoMeta
            {
                Key = Convert.ToBase64String(_internalCryptoManager.EncryptKey(decodedKey, fileKey)),
                Iv = Convert.ToBase64String(ivKey),
                KeySize = decodedKey.Length * 8,
                Transform = _internalCryptoManager.CreateEncryptor(fileKey, ivKey)
            });
        }
Exemple #2
0
 private static InternalCryptoManager Add(InternalCryptoManager internalCryptoManager)
 {
     Cryptos.Add(internalCryptoManager);
     return(internalCryptoManager);
 }