Skip to content

Instantly share code, notes, and snippets.

View jordanbaucke's full-sized avatar

Jordan Baucke jordanbaucke

View GitHub Profile
@jordanbaucke
jordanbaucke / nuts_and_bolts_match.js
Created April 10, 2019 04:33
Whiteboard Warriors, 03.05.19, Solution: Match Nuts & Bolts, Source: https://www.geeksforgeeks.org/nuts-bolts-problem-lock-key-problem/
let nuts = ['@', '#', '$', '%', '^', '&']
let bolts = ['$', '%', '&', '^', '@', '#']
// add Bouncy JCE Provider, http://bouncycastle.org/latest_releases.html
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
string signature = generatePGPSignature(message, privKey);
string pass = "hongkong";
PGPPrivateKey pgpPrivKey = pgpSec
.extractPrivateKey(new JcePBESecretKeyDecryptorBuilder()
.setProvider("BC").build(pass.toCharArray()));
public static PGPSecretKey readSecretKey(InputStream input) throws IOException, PGPException {
PGPSecretKeyRingCollection pgpSec = new PGPSecretKeyRingCollection(
PGPUtil.getDecoderStream(input));
Iterator keyRingIter = pgpSec.getKeyRings();
while (keyRingIter.hasNext()) {
PGPSecretKeyRing keyRing = (PGPSecretKeyRing) keyRingIter.next();
Iterator keyIter = keyRing.getSecretKeys();
while (keyIter.hasNext()) {
public static PGPPublicKey readPublicKey(InputStream input) throws IOException, PGPException {
PGPPublicKeyRingCollection pgpPub = new PGPPublicKeyRingCollection(
PGPUtil.getDecoderStream(input));
Iterator keyRingIter = pgpPub.getKeyRings();
while (keyRingIter.hasNext()) {
PGPPublicKeyRing keyRing = (PGPPublicKeyRing) keyRingIter.next();
Iterator keyIter = keyRing.getPublicKeys();
while (keyIter.hasNext()) {
String privateKeyPassword = "hongkong";
PGPPrivateKey pgpPrivKey = pgpSec
.extractPrivateKey(new JcePBESecretKeyDecryptorBuilder()
.setProvider("BC").build(privateKeyPassword.toCharArray()));
private static String signMessageByteArray(String message,
PGPSecretKey pgpSec, char pass[]) throws IOException,
NoSuchAlgorithmException, NoSuchProviderException, PGPException,
SignatureException {
byte[] messageCharArray = message.getBytes();
ByteArrayOutputStream encOut = new ByteArrayOutputStream();
OutputStream out = encOut;
out = new ArmoredOutputStream(out);
public static String encryptByteArray(byte[] clearData,
PGPPublicKey encKey, boolean withIntegrityCheck, boolean armor)
throws IOException, PGPException, NoSuchProviderException {
ByteArrayOutputStream encOut = new ByteArrayOutputStream();
OutputStream out = encOut;
if (armor) {
out = new ArmoredOutputStream(out);
}

Keybase proof

I hereby claim:

  • I am jordanbaucke on github.
  • I am jordanbaucke (https://keybase.io/jordanbaucke) on keybase.
  • I have a public key whose fingerprint is 08CC 4540 252F 0CC7 C8BA 6E17 3FD6 CF71 5477 03B0

To claim this, I am signing this object: