Skip to content

Instantly share code, notes, and snippets.

@davidbanham
Created March 7, 2012 01:50
Show Gist options
  • Save davidbanham/1990381 to your computer and use it in GitHub Desktop.
Save davidbanham/1990381 to your computer and use it in GitHub Desktop.
Ansi fiddling
// Ignore the md5 stuff. It's a super naive implementation as a POC for a contest.
var a = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'x', 'y', 'z' ]
var crypto = require('crypto');
var ansi = require('ansi')
, cursor = ansi(process.stdout);
var key = 'asd97-896aj-sa82n';
var target = crypto.createHash('md5').update(key).digest('hex');
var candidate = '';
var hash = '';
var i, j, k, l, m, n, o, p, q, r, s, t, u, v, w = 0;
for ( i = 0; i < a.length ; i++ ) {
for ( j = 0; j < a.length ; j++ ) {
for ( k = 0; k < a.length ; k++ ) {
for ( l = 0; l < a.length ; l++ ) {
for ( m = 0; m < a.length ; m++ ) {
for ( n = 0; n < a.length ; n++ ) {
for ( o = 0; o < a.length ; o++ ) {
for ( p = 0; p < a.length ; p++ ) {
for ( q = 0; q < a.length ; q++ ) {
for ( r = 0; r < a.length ; r++ ) {
for ( s = 0; s < a.length ; s++ ) {
for ( t = 0; t < a.length ; t++ ) {
for ( u = 0; u < a.length ; u++ ) {
for ( v = 0; v < a.length ; v++ ) {
for ( w = 0; w < a.length ; w++ ) {
candidate = a[i]+a[j]+a[k]+a[l]+a[m]+'-'+a[n]+a[o]+a[p]+a[q]+a[r]+'-'+a[s]+a[t]+[u]+a[v]+a[w];
cursor.eraseLine(2).write(candidate);
hash = crypto.createHash('md5').update(candidate).digest('hex')
if ( hash === target ) {
console.log(candidate);
return;
}
}}}}}}}}}}}}}}};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment