Skip to content

Instantly share code, notes, and snippets.

@edin-m
edin-m / README.md
Last active Jan 24, 2021
php openssl rsa encription decryption signature with Crypto++ C++ verification
View README.md

USE CASE:

  • encrypt something with a C++ application using server's public key and send to a PHP application
  • PHP application can decrypt it using a private key
  • PHP application sends a cleartext response with a signature
  • C++ application verifies the message using the signature

Gist of it: among others, there are PKSC1v15 and PSS (Probabilistic Signature Scheme) en/decryption and signature schemes Wiki quote: " In general, RSA-PSS should be used as a replacement for RSA-PKCS#1 v1.5. "

PHP has OpenSSL out of box and for en/decryption it supports OPENSSL_PKCS1_OAEP_PADDING which is PKCS1 with SHA1

@edin-m
edin-m / app.cpp
Last active Jan 24, 2021
RSA signing between PHP and C++ using phpseclib and Crypto++ and PSS and SHA256
View app.cpp
// use https://github.com/noloader/cryptopp-pem to add pem loading capabilities to Crypto++
// On Windows those must be manually added to the project and compiled
void readKeys( << INPUTS >> ) {
RSA::PrivateKey privateKey;
RSA::PublicKey publicKey;
qDebug() << "Loading pub/priv key from file";
FileSource privatefs("C:\\del\\dpimkey2", true);
View box2d_sdl2_example.cpp
//http://www.youtube.com/user/thecplusplusguy
//The Box2D main program with SDL
#include <iostream>
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#ifdef __APPLE__
#include <OpenGL/gl.h>
#else
#include <GL/gl.h>
@edin-m
edin-m / build.gradle
Created Nov 29, 2019
Aggregated Jacoco reports in a multi-project Gradle build
View build.gradle
allprojects {
apply plugin: 'java'
apply plugin: 'jacoco'
repositories {
jcenter()
}
jacoco {
toolVersion = '0.7.1.201405082137'
@edin-m
edin-m / docker-shared-nw.md
Created Jul 20, 2019 — forked from kojiwell/docker-shared-nw.md
This is how to create a bridge between Docker containers and outside and create containers with the IP addresses you want to assign.
View docker-shared-nw.md

Docker - Create a Bridge and Shared Network

Sometimes I want to use Docker containers like regular VMs, creating a bridge on a Docker host, having containers on the same subnet with IP addresses I want to assign, and then logging into them via port 22. (No port forwarding, please.) So here's how to do it.

On this example, I use Vagrant and VirtualBox on my MacBook and create containers with IP addresses shown on the table below. Once you go through these steps, you should be able to extend the idea into your on-premises network.

View index.html
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
button {
background-color: #4CAF50; /* Green */
border: none;
color: white;
padding: 15px 32px;
View index.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<canvas id="canvas" width="600" height="600" style="border: 1px solid black"></canvas>
<script src="index.js"></script>
@edin-m
edin-m / .gitignore
Last active Sep 12, 2016
MoEE zavrsni rad
View .gitignore
node_modules
@edin-m
edin-m / gulpfile.js
Created Jun 24, 2016 — forked from danharper/gulpfile.js
New ES6 project with Babel, Browserify & Gulp
View gulpfile.js
var gulp = require('gulp');
var sourcemaps = require('gulp-sourcemaps');
var source = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');
var browserify = require('browserify');
var watchify = require('watchify');
var babel = require('babelify');
function compile(watch) {
var bundler = watchify(browserify('./src/index.js', { debug: true }).transform(babel));
View ring_buffer.sql
-- Example table
CREATE TABLE ring_buffer (id INTEGER PRIMARY KEY AUTOINCREMENT, data TEXT);
-- Number 10 on where statement defines the ring buffer's size
CREATE TRIGGER delete_tail AFTER INSERT ON ring_buffer
BEGIN
DELETE FROM ring_buffer WHERE id%10=NEW.id%10 AND id!=NEW.id;
END;