Instantly share code, notes, and snippets.

🐿
Hiding nuts

Patrick Favre-Bulle patrickfav

View GitHub Profile
@patrickfav
patrickfav / encrypt_img_ecb.sh
Created Nov 17, 2018
Encrypt .ppm file with AES-ECB to show ECB will reveal patterns
View encrypt_img_ecb.sh
#!/bin/sh
# This is part of my blog about AES: https://medium.com/p/7616beaaade9
# Inspired by https://blog.filippo.io/the-ecb-penguin/
# Convert your image to .ppm with Gimp or Photoshop
#
# Usage: ./ecb_img <image file as ppm> <password>
# extract header and body
@patrickfav
patrickfav / AesCbcExample.java
Created Nov 11, 2018
Companion code to my article about AES+CBC with Encrypt-then-MAC
View AesCbcExample.java
package at.favre.lib.armadillo;
import org.junit.Test;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.SecureRandom;
import java.util.Arrays;
@patrickfav
patrickfav / example_jekyll.md
Last active Jun 1, 2018
A Liquid Filter for obfuscating an Email Address (can be used with Jekyll aswell)
View example_jekyll.md

In Jekyll set a variable for the mail, e.g. in the _config.yml

email: name@mail.com

then use it in your page

Reach me under:	{{ site.email | mailObfuscate }}

which will generate the following HTML

@patrickfav
patrickfav / RandomOrgUtil.java
Last active Sep 27, 2017
Random.org Signed Response Verification (Java)
View RandomOrgUtil.java
/*
Copyright 2017 Patrick Favre-Bulle
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
View gist:d3ea9bfcb1669389f0bb52240bace1f3
MessageDigest digest = null;
try {
digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest("hallo".getBytes(Charset.forName("UTF-8")));
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
Provider[] providers = Security.getProviders();
for (Provider provider : providers) {
@patrickfav
patrickfav / AndroidManifest.xml
Created Jan 30, 2017
Example for how to reproduce the restart bug in Seismic
View AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.company.seismicbug"
xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
@patrickfav
patrickfav / KeyStoreHelper.java
Created Sep 21, 2016 — forked from alphamu/KeyStoreHelper.java
Using Android KeyStore to generate a password. The code create a public/private key pair and uses the base64 encoded form of the certificate to as the password. The code modified the KeystoreHelper class from AOSP demo projects.
View KeyStoreHelper.java
/*
* Copyright 2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
View scaling_36295066.java
/*
* Copyright 2017 Patrick Favre-Bulle
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
@patrickfav
patrickfav / ImageUtil.java
Last active Oct 3, 2017
StackOverflow Question 36029295
View ImageUtil.java
/*
* Copyright 2017 Patrick Favre-Bulle
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software