Skip to content

Instantly share code, notes, and snippets.

@mlittle
mlittle / sp_test_pkcs7.sql
Created May 27, 2012 16:35
Test code for my PL/SQL PKCS #7 Pad/Trim functions
DECLARE
PROCEDURE sp_test_pkcs7 (pData IN RAW, pBlockSize IN PLS_INTEGER)
IS
vInData RAW(100);
vDataPadded RAW(100);
vDataTrimmed RAW(100);
BEGIN
vInData := hextoraw(pData);
vDataPadded := fn_pkcs7_pad(vInData, pBlockSize);
vDataTrimmed := fn_pkcs7_trim(vDataPadded);
@mlittle
mlittle / fn_PKCS7_Trim.sql
Created May 27, 2012 16:25
Oracle PL/SQL function that removes PKCS #7 padding from the input
CREATE OR REPLACE FUNCTION fn_PKCS7_Trim(pData IN RAW)
RETURN RAW
IS
vPadSize PLS_INTEGER;
vPadValue RAW(2);
BEGIN
vPadValue := utl_raw.substr(pData, -1, 1);
vPadSize := to_number(rawtohex(vPadValue), 'XX');
RETURN utl_raw.substr(pData, 1, utl_raw.length(pData) - vPadSize);
@mlittle
mlittle / fn_PKCS7_Pad.sql
Created May 27, 2012 16:20
Oracle PL/SQL function that adds PKCS #7 padding to the input
CREATE OR REPLACE FUNCTION fn_PKCS7_Pad(pData IN RAW, pBlockSize IN PLS_INTEGER)
RETURN RAW
IS
vPadSize PLS_INTEGER;
vPadValue RAW(2);
BEGIN
vPadSize := pBlockSize - MOD(utl_raw.length(pData), pBlockSize);
vPadValue := hextoraw(ltrim(to_char(vPadSize, 'XX')));
RETURN utl_raw.concat(pData, utl_raw.copies(vPadValue, vPadSize));
@mlittle
mlittle / Backup.bat
Created April 13, 2012 12:29
Simple 7-Zip based backup script
@echo off
REM # Send To Backup Script
REM # Author - Matt Little (http://matthewjlittle.com)
REM # Adam Caudill (http://adamcaudill.com)
REM #
REM # To install:
REM #
REM # (windows 7):
REM # Goto Start->Run. Type in shell:sendto