A kulcsgenerálással kapcsolatban valószínűleg mindenkinek a véletlen-szám generátor jut eszébe, hiszen kézenfekvő, hogy valamilyen egyedi számsor előállítására ennek beépített algoritmusa a legmegfelelőbb.
Van azonban egy probléma. A véletlen-szám generátor a .NET-ben úgy működik, hogy egyedi számsort képez ugyan, de ha induló értékként mindig ugyanazt a számot kapja meg, a generált számsor is ugyanaz marad. A számsor frissítéséhez újra inicializálni kell a generátort.
A mellékelt alkalmazásban arra mutatunk egy példát, hogy miként lehet titkos kulcsot, vagyis egy tetszőleges, egyedi számláncot generálni az egér mozgásának felhasználásával.
A példában egy, a Form-ra feltett GroupBox kontrollal kijelöltünk egy kliensterületet, amin belül figyelembe vesszük az egér mozgását. A GroupBox kontrolhoz így rendeltünk egy eseménykezelőt az egérmozgás eseményének kezelésére:
this.client.MouseMove += new System.Windows.Forms.MouseEventHandler(this.client_MouseMove);
Az eseménykezelő függvény paramétere egy MouseEventArgs típusú objektum, mely sok egyéb információ mellett tartalmazza a terület fölött tartózkodó egér pozíciójának koordinátáit, melyeket most felhasználunk a kulcs elkészítéséhez úgy, hogy az x koordinátákat hozzáadjuk, az y koordinátákat megszorozzuk a kulcs aktuális értékével. Természetesen a feldolgozó algoritmus tetszőleges lehet:
private void client_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
...
Key += e.X;
Key *= e.Y;
A Form-ra feltettünk egy ProgressBar kontrolt, hogy jelezzük a hátralévő időt (mozgásszámot), amennyi még szükséges a teljes kód elkészítéséhez. A ProgressBar kontrol indikátorának mozgatásához meghívjuk PerformStep metódusát:
Az elkészült kódot azután bármire felhasználhatjuk. Azonos kód generálása szinte kizárt.