Skip to content

Instantly share code, notes, and snippets.

@o0101
Last active October 22, 2017 07:01
Show Gist options
  • Save o0101/313f8ee317fa34cc6828cd49f6a636d8 to your computer and use it in GitHub Desktop.
Save o0101/313f8ee317fa34cc6828cd49f6a636d8 to your computer and use it in GitHub Desktop.
const dc = require("dosycrypt");
const page = ({message:message = ''}={}) => `
<title>DOSYCRYPT</title>
<meta name=viewport content="width=device-width, initial-scale=1">
<style>
:root, body, input, textarea, button {
background: orange; color: white;
}
</style>
<form id=suck style="margin: 0 auto; max-width:555px; width:85vw;" method=POST>
<fieldset><legend>DOSYCRYPT</legend>
<p>
<input id=key type=password required
name=key placeholder="key (spaces okay)" minlength=4>
<p>
<textarea id=message rows=8 cols=28
placeholder=message name=message>${message}</textarea>
<p>
<button id=enc name=mode value=encrypt>Encrypt</button>
<button id=dec name=mode value=decrypt>Decrypt</button>
<button type=reset
onclick=document.write('');>Destroy</button>
</fieldset>
</form>
<script>
enc.onclick = e => {
e.preventDefault();
const c = dc.full_encrypt( message.value, key.value );
document.write(page({message:btoa(c)}));
};
dec.onclick = e => {
e.preventDefault();
const p = dc.full_decrypt( atob(message.value), key.value );
document.write(page({message:p}));
};
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment