Skip to content

Instantly share code, notes, and snippets.

@pldubouilh
Forked from windytan/emoji.pl
Last active January 19, 2016 16:29
Show Gist options
  • Save pldubouilh/32d513f60736138627a2 to your computer and use it in GitHub Desktop.
Save pldubouilh/32d513f60736138627a2 to your computer and use it in GitHub Desktop.
Visualize SSH public key fingerprints using Unicode emoji
// Taken from Oona Rรคisรคnen 2013 / http://windytan.com
// Adapted to work well with b64 encoded keys
// ssh-keygen -lf ~/.ssh/id.pub | node emoji.js
var glyphs = [ '๐ŸŒ€','๐ŸŒ‚','๐ŸŒ…','๐ŸŒˆ','๐ŸŒ™','๐ŸŒž','๐ŸŒŸ','๐ŸŒ ','๐ŸŒฐ','๐ŸŒฑ','๐ŸŒฒ','๐ŸŒณ','๐ŸŒด','๐ŸŒต','๐ŸŒท','๐ŸŒธ',
'๐ŸŒน','๐ŸŒบ','๐ŸŒป','๐ŸŒผ','๐ŸŒฝ','๐ŸŒพ','๐ŸŒฟ','๐Ÿ€','๐Ÿ','๐Ÿ‚','๐Ÿƒ','๐Ÿ„','๐Ÿ…','๐Ÿ†','๐Ÿ‡','๐Ÿˆ',
'๐Ÿ‰','๐ŸŠ','๐Ÿ‹','๐ŸŒ','๐Ÿ','๐ŸŽ','๐Ÿ','๐Ÿ','๐Ÿ‘','๐Ÿ’','๐Ÿ“','๐Ÿ”','๐Ÿ•','๐Ÿ–','๐Ÿ—','๐Ÿ˜',
'๐Ÿœ','๐Ÿ','๐Ÿž','๐ŸŸ','๐Ÿ ','๐Ÿก','๐Ÿข','๐Ÿฃ','๐Ÿค','๐Ÿฅ','๐Ÿฆ','๐Ÿง','๐Ÿจ','๐Ÿฉ','๐Ÿช','๐Ÿซ',
'๐Ÿฌ','๐Ÿญ','๐Ÿฎ','๐Ÿฏ','๐Ÿฐ','๐Ÿฑ','๐Ÿฒ','๐Ÿณ','๐Ÿด','๐Ÿต','๐Ÿถ','๐Ÿท','๐Ÿธ','๐Ÿน','๐Ÿบ','๐Ÿป',
'๐Ÿผ','๐ŸŽ€','๐ŸŽ','๐ŸŽ‚','๐ŸŽƒ','๐ŸŽ„','๐ŸŽ…','๐ŸŽˆ','๐ŸŽ‰','๐ŸŽŠ','๐ŸŽ‹','๐ŸŽŒ','๐ŸŽ','๐ŸŽŽ','๐ŸŽ','๐ŸŽ’',
'๐ŸŽ“','๐ŸŽ ','๐ŸŽก','๐ŸŽข','๐ŸŽฃ','๐ŸŽค','๐ŸŽฅ','๐ŸŽฆ','๐ŸŽง','๐ŸŽจ','๐ŸŽฉ','๐ŸŽช','๐ŸŽซ','๐ŸŽฌ','๐ŸŽญ','๐ŸŽฎ',
'๐ŸŽฏ','๐ŸŽฐ','๐ŸŽฑ','๐ŸŽฒ','๐ŸŽณ','๐ŸŽด','๐ŸŽต','๐ŸŽท','๐ŸŽธ','๐ŸŽน','๐ŸŽบ','๐ŸŽป','๐ŸŽฝ','๐ŸŽพ','๐ŸŽฟ','๐Ÿ€',
'๐Ÿ','๐Ÿ‚','๐Ÿƒ','๐Ÿ„','๐Ÿ†','๐Ÿ‡','๐Ÿˆ','๐Ÿ‰','๐ŸŠ','๐Ÿ€','๐Ÿ','๐Ÿ‚','๐Ÿƒ','๐Ÿ„','๐Ÿ…','๐Ÿ†',
'๐Ÿ‡','๐Ÿˆ','๐Ÿ‰','๐ŸŠ','๐Ÿ‹','๐ŸŒ','๐Ÿ','๐ŸŽ','๐Ÿ','๐Ÿ','๐Ÿ‘','๐Ÿ’','๐Ÿ“','๐Ÿ”','๐Ÿ•','๐Ÿ–',
'๐Ÿ—','๐Ÿ˜','๐Ÿ™','๐Ÿš','๐Ÿ›','๐Ÿœ','๐Ÿ','๐Ÿž','๐ŸŸ','๐Ÿ ','๐Ÿก','๐Ÿข','๐Ÿฃ','๐Ÿค','๐Ÿฅ','๐Ÿฆ',
'๐Ÿง','๐Ÿจ','๐Ÿฉ','๐Ÿช','๐Ÿซ','๐Ÿฌ','๐Ÿญ','๐Ÿฎ','๐Ÿฏ','๐Ÿฐ','๐Ÿฑ','๐Ÿฒ','๐Ÿณ','๐Ÿด','๐Ÿต','๐Ÿถ',
'๐Ÿท','๐Ÿธ','๐Ÿน','๐Ÿบ','๐Ÿป','๐Ÿผ','๐Ÿฝ','๐Ÿพ','๐Ÿ‘€','๐Ÿ‘‚','๐Ÿ‘ƒ','๐Ÿ‘„','๐Ÿ‘…','๐Ÿ‘†','๐Ÿ‘‡','๐Ÿ‘ˆ',
'๐Ÿ‘‰','๐Ÿ‘Š','๐Ÿ‘‹','๐Ÿ‘Œ','๐Ÿ‘','๐Ÿ‘Ž','๐Ÿ‘','๐Ÿ‘','๐Ÿ‘‘','๐Ÿ‘’','๐Ÿ‘“','๐Ÿ‘”','๐Ÿ‘•','๐Ÿ‘–','๐Ÿ‘—','๐Ÿ‘˜',
'๐Ÿ‘™','๐Ÿ‘š','๐Ÿ‘›','๐Ÿ‘œ','๐Ÿ‘','๐Ÿ‘ž','๐Ÿ‘Ÿ','๐Ÿ‘ ','๐Ÿ‘ก','๐Ÿ‘ข','๐Ÿ‘ฃ','๐Ÿ‘ค','๐Ÿ‘ฅ','๐Ÿ‘ฆ','๐Ÿ‘ง','๐Ÿ‘จ',
'๐Ÿ‘ฉ','๐Ÿ‘ช','๐Ÿ‘ฎ','๐Ÿ‘ฏ','๐Ÿ‘บ','๐Ÿ‘ป','๐Ÿ‘ผ','๐Ÿ‘ฝ','๐Ÿ‘พ','๐Ÿ‘ฟ','๐Ÿ’€','๐Ÿ’','๐Ÿ’‚','๐Ÿ’ƒ','๐Ÿ’„','๐Ÿ’…']
var data = '';
process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.on('data', function(chunk) {
data += chunk;
});
process.stdin.on('end', function() {
var hash = Buffer(data.split(' ')[1].split(':')[1], 'base64')
for (var i=0; i < hash.length; i++)
for(j in glyphs)
if (hash[i] == j)
process.stdout.write(glyphs[j] + ' ')
process.stdout.write('\n')
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment