示例#1
0
        /// <summary>
        /// Дешифрует массив байт
        /// </summary>
        /// <param name="encryptedData">Массив байт для дешифрации</param>
        /// <returns>Дешифрованный массив байт</returns>
        public static byte[] RSADecrypt(byte[] encryptedData)
        {
            try
            {
                byte[] keyData = (byte[])RegistryUtility.GetBinaryValue("CSPBlob", SystemConfiguration.CommonRegKey);

                if (keyData != null)
                {
                    _rsa.ImportCspBlob(keyData);
                }

                return(_rsa.Decrypt(encryptedData, false));
            }
            catch (CryptographicException e)
            {
                // перезапуск
                _rsa = new RSACryptoServiceProvider();

                DebugHelper.WriteLogEntry(e.ToString());

                return(null);
            }
        }