Java
How to take the time between keystrokes into account when making a key
Want to make sure your code is always working? Try custom application monitoring from Instrumental!
Advertisementhttps://snipt.net/raw/4ee646cd1b0c8d45a7c1a3175b5a4c0c/
4ee646cd1b0c8d45a7c1a3175b5a4c0c
java
Java
27
2016-11-08T12:13:30
True
False
False
/api/public/snipt/29587/
how-to-take-the-time-between-keystrokes-into-account-when-making-a-key-1
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a>
<a href="#L-2"> 2</a>
<a href="#L-3"> 3</a>
<a href="#L-4"> 4</a>
<a href="#L-5"> 5</a>
<a href="#L-6"> 6</a>
<a href="#L-7"> 7</a>
<a href="#L-8"> 8</a>
<a href="#L-9"> 9</a>
<a href="#L-10">10</a>
<a href="#L-11">11</a>
<a href="#L-12">12</a>
<a href="#L-13">13</a>
<a href="#L-14">14</a>
<a href="#L-15">15</a>
<a href="#L-16">16</a>
<a href="#L-17">17</a>
<a href="#L-18">18</a>
<a href="#L-19">19</a>
<a href="#L-20">20</a>
<a href="#L-21">21</a>
<a href="#L-22">22</a>
<a href="#L-23">23</a>
<a href="#L-24">24</a>
<a href="#L-25">25</a>
<a href="#L-26">26</a>
<a href="#L-27">27</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a> <span class="kn">import</span> <span class="nn">java.io.Console</span><span class="o">;</span>
</span><span id="L-2"><a name="L-2"></a> <span class="kn">import</span> <span class="nn">java.io.IOException</span><span class="o">;</span>
</span><span id="L-3"><a name="L-3"></a> <span class="kn">import</span> <span class="nn">java.io.Reader</span><span class="o">;</span>
</span><span id="L-4"><a name="L-4"></a> <span class="kn">import</span> <span class="nn">java.util.ArrayList</span><span class="o">;</span>
</span><span id="L-5"><a name="L-5"></a>
</span><span id="L-6"><a name="L-6"></a>
</span><span id="L-7"><a name="L-7"></a> <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Main</span> <span class="o">{</span>
</span><span id="L-8"><a name="L-8"></a>
</span><span id="L-9"><a name="L-9"></a> <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">IOException</span><span class="o">,</span> <span class="n">InterruptedException</span> <span class="o">{</span>
</span><span id="L-10"><a name="L-10"></a> <span class="n">String</span><span class="o">[]</span> <span class="n">cmd</span> <span class="o">=</span> <span class="o">{</span><span class="s">"/bin/sh"</span><span class="o">,</span> <span class="s">"-c"</span><span class="o">,</span> <span class="s">"stty raw </dev/tty"</span><span class="o">};</span>
</span><span id="L-11"><a name="L-11"></a> <span class="n">Runtime</span><span class="o">.</span><span class="na">getRuntime</span><span class="o">().</span><span class="na">exec</span><span class="o">(</span><span class="n">cmd</span><span class="o">).</span><span class="na">waitFor</span><span class="o">();</span>
</span><span id="L-12"><a name="L-12"></a> <span class="n">Console</span> <span class="n">console</span> <span class="o">=</span> <span class="n">System</span><span class="o">.</span><span class="na">console</span><span class="o">();</span>
</span><span id="L-13"><a name="L-13"></a> <span class="n">Reader</span> <span class="n">reader</span> <span class="o">=</span> <span class="n">console</span><span class="o">.</span><span class="na">reader</span><span class="o">();</span>
</span><span id="L-14"><a name="L-14"></a> <span class="n">ArrayList</span><span class="o"><</span><span class="n">Long</span><span class="o">></span> <span class="n">timeStamps</span> <span class="o">=</span> <span class="k">new</span> <span class="n">ArrayList</span><span class="o"><</span><span class="n">Long</span><span class="o">>();</span>
</span><span id="L-15"><a name="L-15"></a> <span class="n">StringBuilder</span> <span class="n">password</span> <span class="o">=</span> <span class="k">new</span> <span class="n">StringBuilder</span><span class="o">();</span>
</span><span id="L-16"><a name="L-16"></a> <span class="n">timeStamps</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="n">System</span><span class="o">.</span><span class="na">currentTimeMillis</span><span class="o">());</span>
</span><span id="L-17"><a name="L-17"></a> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Enter your 8 character password"</span><span class="o">);</span>
</span><span id="L-18"><a name="L-18"></a> <span class="k">for</span><span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span><span class="n">i</span><span class="o"><</span><span class="mi">8</span><span class="o">;</span><span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
</span><span id="L-19"><a name="L-19"></a> <span class="n">password</span><span class="o">.</span><span class="na">append</span><span class="o">(</span><span class="n">reader</span><span class="o">.</span><span class="na">read</span><span class="o">());</span>
</span><span id="L-20"><a name="L-20"></a> <span class="n">timeStamps</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="n">System</span><span class="o">.</span><span class="na">currentTimeMillis</span><span class="o">());</span>
</span><span id="L-21"><a name="L-21"></a> <span class="o">}</span>
</span><span id="L-22"><a name="L-22"></a> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Timestamps: "</span><span class="o">);</span>
</span><span id="L-23"><a name="L-23"></a> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">timeStamps</span><span class="o">);</span>
</span><span id="L-24"><a name="L-24"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="k">new</span> <span class="n">String</span><span class="o">[]</span> <span class="o">{</span><span class="s">"/bin/sh"</span><span class="o">,</span> <span class="s">"-c"</span><span class="o">,</span> <span class="s">"stty sane </dev/tty"</span><span class="o">};</span>
</span><span id="L-25"><a name="L-25"></a> <span class="n">Runtime</span><span class="o">.</span><span class="na">getRuntime</span><span class="o">().</span><span class="na">exec</span><span class="o">(</span><span class="n">cmd</span><span class="o">).</span><span class="na">waitFor</span><span class="o">();</span>
</span><span id="L-26"><a name="L-26"></a> <span class="o">}</span>
</span><span id="L-27"><a name="L-27"></a> <span class="o">}</span>
</span></pre></div>
</td></tr></table>