Skip to content

Instantly share code, notes, and snippets.

View mtvbrianking's full-sized avatar

Brian Matovu mtvbrianking

View GitHub Profile
@mtvbrianking
mtvbrianking / decrypt.sh
Last active December 28, 2021 12:09
OpenSSL Encryption & Decryption
#!/bin/bash
encryptedPayloadFile=""
privateKeyFile=""
outputFile=""
function diy() {
cat <<EOF
openssl enc -base64 -A -d -in payload.cipher.base64 -out payload.cipher
@mtvbrianking
mtvbrianking / bash-command-arguments-options.txt
Created December 26, 2021 11:02
bash command stdin arguments options
bash arguments options stdin flags
required
optional
./cmd arg1 agr2 --debug --output=test.txt
Args:
- arg1
@mtvbrianking
mtvbrianking / sign.sh
Last active January 20, 2022 02:25
OpenSSL Digital Signing
#!/bin/bash
payload=""
privateKey=""
base64EncodedSignatureFile=""
function diy() {
cat <<EOF
printf %s "jdoe:23571113" > payload.txt
@mtvbrianking
mtvbrianking / sign.sh
Created December 15, 2021 17:31 — forked from ezimuel/sign.sh
Sign and verify a file using OpenSSL command line tool. It exports the digital signature in Base64 format.
#!/bin/bash
# Sign a file with a private key using OpenSSL
# Encode the signature in Base64 format
#
# Usage: sign <file> <private_key>
#
# NOTE: to generate a public/private key use the following commands:
#
# openssl genrsa -aes128 -passout pass:<passphrase> -out private.pem 2048
# openssl rsa -in private.pem -passin pass:<passphrase> -pubout -out public.pem
@mtvbrianking
mtvbrianking / putty.log
Created November 19, 2021 05:41
Enable session logs on Putty
C:\Users\bmatovu\putty_logs\&H\&Y&M&D
Ref: https://youtu.be/aFSmwCXXKPM
@mtvbrianking
mtvbrianking / casl-backend-permission-2.js
Last active December 7, 2021 17:45
CASL load user permissions from API on login
import { Ability, subject } from "@casl/ability";
const editorRole = { id: 1, name: 'Editor'};
const adminRole = { id: 2, name: 'Admin' };
const user = { id: 1, alias: "jdoe", name: "John Doe", role_id: 1 };
const ability = new Ability();
const rules = [
{
@mtvbrianking
mtvbrianking / query.sql
Created November 10, 2021 19:58 — forked from reinink/query.sql
Text search across multiple tables using MySQL
select
first_name,
last_name
from
users
left join
companies on companies.id = users.company_id
where (
companies.name like 'TERM%' or
first_name like 'TERM%' or
@mtvbrianking
mtvbrianking / PaperStateMachine.php
Last active October 30, 2021 17:07
State Machines
<?php
interface StateMachineInterface
{
public function getTransitions(): array;
public function setTransitions(array $transitions): void;
public function getState(): string;
public function setState(string $state): void;
public function getStates(): array;
public function getActions(): array;
@mtvbrianking
mtvbrianking / postman laravel sanctum api token.md
Last active November 1, 2022 15:20
Postman API Auth Token

pre-request script

if(accessToken = pm.environment.get('access-token')) {
    console.log(`Using access token: '${accessToken}'`);
    return;
}

let req = {
 url: 'http://localhost:8000/api/auth',
@mtvbrianking
mtvbrianking / linux-foundation.md
Created October 5, 2021 18:45
Linux Foundation Certifiactions - LFCA . LFCS . LFCE

Linux Foundation Certified

IT Associate (LFCA)

Linux Fundamentals - 20%

  • Linux Operating System
  • File Management Commands
  • System Commands
  • General Networking Commands