let canvas, context, html = document.getElementsByTagName('html')[0],
rnd = (min, max) => Math.floor(Math.random()*max+min),
hiddenText = 'Dyrk est un super blog.'.split('').map(e=>e.charCodeAt(0).toString(2)).join('').split('')
html.textContent = '';
canvas = document.createElement('canvas');
canvas.width = canvas.height = 300;
context = canvas.getContext('2d');
html.appendChild(canvas);
context.fillStyle = '#FFF';
context.fillRect(0,0, canvas.width, canvas.height);
for (var i = 0; i<= 500; i++) {
context.beginPath();
context.strokeStyle = '#'.concat( [0,0,0].map(()=>rnd(1, 256).toString(16) ).join(''));
context.arc(rnd(1, canvas.height), rnd(1, canvas.width), 20, 0, 2*Math.PI);
context.stroke();
context.closePath();
};
context.fillStyle = '#000'
context.font = (canvas.height/5).toString().concat("px serif");
context.fillText("Dyrk.org", canvas.width/5, canvas.height/5);
/* Ajout du texte caché */
blockToHideData = context.getImageData(0, 0, canvas.height, canvas.width);
for (var i = 0; i <= blockToHideData.data.length-1; i+=4) {
binString = ['0','0','0','0','0','0','0','0'];
blockToHideData.data[i].toString(2).split('').map((e,i)=>binString[i] =e);
binString[7] = hiddenText.length-1 > 0 ? hiddenText.shift() : '0';
binString.map(e=>typeof e !='undefined' && e === 0 || e==1 ? e : 0);
blockToHideData.data[i] = parseInt(binString.join(''), 2);
};
context.putImageData(blockToHideData, 0, 0);