CryptoConnectionString 1.0.1
dotnet add package CryptoConnectionString --version 1.0.1
NuGet\Install-Package CryptoConnectionString -Version 1.0.1
<PackageReference Include="CryptoConnectionString" Version="1.0.1" />
<PackageVersion Include="CryptoConnectionString" Version="1.0.1" />
<PackageReference Include="CryptoConnectionString" />
paket add CryptoConnectionString --version 1.0.1
#r "nuget: CryptoConnectionString, 1.0.1"
#:package CryptoConnectionString@1.0.1
#addin nuget:?package=CryptoConnectionString&version=1.0.1
#tool nuget:?package=CryptoConnectionString&version=1.0.1
CriptoConnectionString
Uma biblioteca .Net para criptografar connection strings em tempo de execução. Lê o arquivo .env e caso não tenha cria um automaticamente. Caso também não tenha uma cliente_key e cliente_iv cria essas chaves poins elas são utilizadas na criptografia da connection string. Lê e criptografa todos os nós da chave ConnectionStrings
Faz isso dinamicamente sem a necessidade de fazer a criptografia externamente e colocar manualmente no appsettings.json.
Descriptografa somente quando for utilizar e fazer a conexão com o banco de dados
Importante
Quando inicia a aplicação pela primeira vez é validado se existe arquivo .env, cliente_key e cliente_iv. Se não tiver é criado o arquivo e as chaves e inserido esses valores no arquivo .env. As chaves cliente_key e cliente_iv são utilizadas na criptografia e Descriptografia da connectionStrings, então se houver alteração dessas chaves a Descriptografia não ira funcionar.
Instalação
Disponivel em NuGet
Visual Studio:
PM> Install-Package CryptoConnectionString
.Net Core CLI:
dotnet add package CryptoConnectionString
Usando
Na Program.cs use o metodo AddCryptoConnectionString(). Por padrão essa função procurará automaticamente um arquivo .env no atual diretorio da aplicação.
builder.Services.AddCryptoConnectionString(builder.Configuration);
Ou você pode especificar o caminho diretamente do arquivo '.env'
builder.Services.AddCryptoConnectionString(builder.Configuration, "./path/.env");
Descriptografando
Você pode usar a interface IConnectionStringEncryptor que já está sendo registrada no metodo AddCryptoConnectionString() ou instanciar a classe ConnectionStringEncryptor
private readonly IConnectionStringEncryptor _connectionStringEncryptor
public Exemplo(IConnectionStringEncryptor connectionStringEncryptor)
{
_connectionStringEncryptor=connectionStringEncryptor;
}
var connString = _connectionStringEncryptor.Decrypt("Valor a ser descriptografado");
Ou
var encryptor = new ConnectionStringEncryptor();
var connString = encryptor.Decrypt("Valor a ser descriptografado");
Licença
Esse projeto está licenciado sob a licença MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- DotNetEnv (>= 3.1.1)
- Microsoft.Extensions.Configuration (>= 8.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Configuration.FileExtensions (>= 8.0.0)
- Microsoft.Extensions.Configuration.Json (>= 8.0.0)
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Hosting (>= 8.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.