![]() |
VOOZH | about |
dotnet add package Walter.Web.Cypher.EF --version 2025.9.1440
NuGet\Install-Package Walter.Web.Cypher.EF -Version 2025.9.1440
<PackageReference Include="Walter.Web.Cypher.EF" Version="2025.9.1440" />
<PackageVersion Include="Walter.Web.Cypher.EF" Version="2025.9.1440" />Directory.Packages.props
<PackageReference Include="Walter.Web.Cypher.EF" />Project file
paket add Walter.Web.Cypher.EF --version 2025.9.1440
#r "nuget: Walter.Web.Cypher.EF, 2025.9.1440"
#:package Walter.Web.Cypher.EF@2025.9.1440
#addin nuget:?package=Walter.Web.Cypher.EF&version=2025.9.1440Install as a Cake Addin
#tool nuget:?package=Walter.Web.Cypher.EF&version=2025.9.1440Install as a Cake Tool
Introducing the WALTER Framework: Workable Algorithms for Location-aware Transmission, Encryption Response. Designed for modern developers, WALTER is a groundbreaking suite of NuGet packages crafted for excellence in .NET Standard 2.0, 2.1, Core 3.1, and .NET 6, 7, 8, as well as C++ environments. Emphasizing 100% AoT support and reflection-free operations, this framework is the epitome of performance and stability.
Whether you're tackling networking, encryption, or secure communication, WALTER offers unparalleled efficiency and precision in processing, making it an essential tool for developers who prioritize speed and memory management in their applications.
The Walter.Cypher.Secure class, part of the Walter.Web.Cypher.EF NuGet package, provides a secure way to store and manage encrypted data within an application. This is particularly useful when dealing with sensitive data, such as personally identifiable information (PII) under GDPR regulations or proprietary business data, especially when the database is hosted on a server you do not fully control (e.g., a cloud-managed database).
DbContext that automatically encrypts and decrypts properties marked with the [Encrypted] attribute.Invoce ClassThe Invoce class extends Walter.Cypher.Secure to securely store sensitive invoice details, such as order references.
public class Invoce : Walter.Cypher.Secure
{
private string _orderRef;
[Encrypted(nameof(_orderRef))]
public string OrderRef
{
get => Decrypt(_orderRef);
set
{
_orderRef = Encrypt(value);
OrderRefCs = value?.GetDeterministicHashCode();
}
}
public int? OrderRefCs { get; set; }
public decimal InvoiceAmmount { get; set; }
public decimal Discount { get; set; }
public decimal VAT { get; set; }
public DateTime InvouceDate { get; set; } = DateTime.Now;
public DateTime DueData { get; set; } = DateTime.Now.AddDays(60);
public PaymentStatus Status { get; set; }
}
OrderRef property is stored encrypted in _orderRef, using the Encrypt and Decrypt methods.OrderRefCs) is stored alongside the encrypted data for search purposes.To simplify encryption management across multiple entity models, the SecureDbContext can be used. It automatically applies encryption and decryption for all properties marked with [Encrypted].
public class SecureDbContext : DbContext
{
protected void BindEncryption(ModelBuilder modelBuilder)
{
if (modelBuilder is null)
{
throw new ArgumentNullException(nameof(modelBuilder));
}
Hookup(modelBuilder);
}
private void Hookup(ModelBuilder modelBuilder)
{
foreach (var entityType in modelBuilder.Model.GetEntityTypes())
{
foreach (var property in entityType.GetProperties())
{
var attributes = property.PropertyInfo?.GetCustomAttributes(typeof(EncryptedAttribute), false);
if (attributes?.Length > 0 && attributes[0] is EncryptedAttribute e)
{
property.SetField(e.FieldName);
property.SetPropertyAccessMode(PropertyAccessMode.Field);
}
}
}
}
}
[Encrypted].Encrypt() method.Decrypt().To use Walter.Cypher.Secure, install the Walter.Web.Cypher.EF NuGet package:
Install-Package Walter.Web.Cypher.EF
The Walter.Cypher.Secure class is an essential tool for securely handling sensitive data in applications where data privacy and compliance are critical. By integrating encrypted storage seamlessly into EF Core entities, it ensures that no unauthorized party—including database administrators—can access protected information. Additionally, using SecureDbContext simplifies the management of encrypted data across multiple entities, making it a powerful option for enterprise applications.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2025.9.1440 | 243 | 9/28/2025 |
| 2025.8.13.1215 | 230 | 8/13/2025 |
| 2025.7.10.1343 | 220 | 7/10/2025 |
| 2025.6.30.2102 | 232 | 7/1/2025 |
| 2025.6.12.1057 | 403 | 6/12/2025 |
| 2025.2.26.1615 | 192 | 2/26/2025 |
| 2025.2.26.1548 | 197 | 2/26/2025 |
| 2025.2.25.528 | 190 | 2/25/2025 |
12 June 2025
-Update to .net 9.04 and .net 8.0.3
12 Mar 2025
-Update NuGet dependencies that have vulnerabilities
12 October 2023
- Build using SDK-7.0.402 and SDK-6.0.415
14 September 2023
- SDK Service pack .net 6 and 7
12 July 2023
- Update to SDK SP 6.0.412. and 7.0.306
14 June 2023
- Update due to SDK Update 7.0.304, and 6.0.410
14 December 2022
- Update to .Net SDK 3.1.426, 6.0.404 and 7.0.101
31 October 2022
- Update to build with new SDK
14 September 2022
- Update to include new package 6.0.2 and Microsoft CVE-2022-38013
9 August 2022
- update to SDK 6.0.400 / .Net 6.0.8 security patch
- drop support for .net standard 2.0
- drop support for .net 5.0
15 June 2022
- Update to support .net 6.0.7 and 3.1.27
04 May 2022
- update to EF core 6.0.4
15 December 2021
- Update package references as well as .Net DSK release December 14 2021
9 November 2021
- Fix package dependency on vulnerable packages from Microsoft by upgrading vulnerable packages
8 November 2021
- Update to Microsoft packages 6.0.0, 5.0.403 and core 3.1.415
11 October 2021
- CodeSign the binaries as well as the NuGet package for executing in a trust-platform
17 September 2021
- Update NuGet Packages to the new release
8 Aug 2021
- update to .NET 6.0 SDK (v6.0.100-preview.6)
19 June 2021
- Add .Net 6.0
15 June 2021
- Update to .Net core 3.1.17 and .net 5.0.8
25 May 2021
- Update package reference external dependencies
06 March 2021
- Update Package references
01 February 2021
- Update Package references
10 February 2021
- Update package references
- Add logging interface for extracting calling file name when faced with cypher errors
25 January 2021
- Update extension methods
- Update Package references
02 January 2021
- Updated license terms
20 December 2020
- Update Package references
05 December 2020
- Update Package references
24 September 2020
1. Update package references
06 September 2020
1. Set platform x64
2. Update NuGet Package References
26 August 2020 release
1 Update dependency on NuGet packages
12 August 2020 release
1 Update dependency on NuGet packages