Cracking in progress
HTML/JavaScript, 170 168 167 bytes



setInterval('o.textContent=i.value.replace(/./g,(c,i)=&gt;new Date-d&gt;++i*1e3?c:String.fromCharCode(Math.random()*95+32))',d=50)
&lt;input id=i oninput=d=Date.now()&gt;&lt;pre id=o&gt;




Edit: Saved 2 bytes thanks to @ETHproductions. Saved 1 byte thanks to @jrich.