Skip to content

Instantly share code, notes, and snippets.

@zola-25
zola-25 / HomeController.cs
Last active January 28, 2024 23:40
Maintaining User Session State with Cookies - Raw, Library-free Implementation with ASP.NET Core MVC
using System.Security.Cryptography;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace CookieSessionStateDemo.Controllers
{
public static class InMemoryDataStore
{
public static readonly Dictionary<string, string> UserSessions = new();
public static readonly Dictionary<string, string> UserCredentials = new() { { "user1", "password1" }, { "user2", "password2" } };
@zola-25
zola-25 / PasswordHashingExample.ps1
Created April 30, 2023 07:20
PowerShell example showing outputs generated for a simple SHA-256 hash. No salting or other security mechanisms included.
$inputString = "Password123"
$sha256 = [System.Security.Cryptography.SHA256]::Create()
$bytes = [System.Text.Encoding]::UTF8.GetBytes($inputString)
$hashBytes = $sha256.ComputeHash($bytes)
$base64String = [System.Convert]::ToBase64String($hashBytes)
$binaryString = [System.Text.StringBuilder]::new()
foreach ($byte in $hashBytes) {
@zola-25
zola-25 / Program.cs
Created April 30, 2023 03:58
HTTP Basic Access Authentication - Raw Implementation in .NET
using System.Text;
using Microsoft.Extensions.Primitives;
using Microsoft.Net.Http.Headers;
var app = WebApplication.Create(args);
string validUsername = "user1";
string validPassword = "password123";
@zola-25
zola-25 / ConnectionStringBuilder.cs
Created May 7, 2020 22:46
Stop EF Core creating expensive Azure SQL Database configurations on start up & auto connection string builder based on Git branch
using Enis.Domain.Abstractions.StartupServices;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
public interface IConnectionStringBuilder
{
string GetApplicationConnectionString();
}
public class ConnectionStringBuilder : IConnectionStringBuilder
@zola-25
zola-25 / AnalyticsHttpWrapper.cs
Created May 6, 2020 23:32
A wrapper for C# HttpClient to consume Asynchronous REST resources
public interface IAnalyticsHttpWrapper
{
Task<T> GetAsynchronous<T>(string path);
}
public class AnalyticsHttpWrapper : IAnalyticsHttpWrapper
{
private readonly IHttpClientFactory _httpClientFactory;
private readonly string _httpClientName;
private readonly HttpClient _httpClient;
@zola-25
zola-25 / plumber_asynchronous.R
Last active May 6, 2020 17:27
Asynchronous REST Operations in R Plumber with futures
# plumber_asynchronous.R
require(future)
require(uuid)
plan(multiprocess)
defaultPackages <- c("plyr",
"dplyr",
"dbplyr",