Пишемо простенький брут форсер на c # - основи кодинга
200? '200px': '' + (this.scrollHeight + 5) + 'px'); ">
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace md5hasher
<
class Program
<
public static string res = "";
public static string GetMD5Hash (string input # 41;
<
System.Security.Cryptography.MD5CryptoServiceProvider x = new System.Security.Cryptography.MD5CryptoServiceProvider (# 41 ;;
byte # 91;] bs = System.Text.Encoding.UTF8.GetBytes (input # 41 ;;
bs = x.ComputeHash (bs # 41 ;;
System.Text.StringBuilder s = new System.Text.StringBuilder (# 41 ;;
foreach (byte b in bs # 41;
<
s.Append (b.ToString ( "x2" # 41; .ToLower (# 41; # 41 ;;
>
string password = s.ToString (# 41 ;;
return password;
>
static void Main (string # 91;] args # 41;
<
bool genbul = false;
long count = 0;
string kletka, hod, id, gdata, gtime, hash, add;
string reshash, predp;
System.Console.Write ( "Введіть предпологаются клітку:" # 41 ;;
kletka = System.Console.ReadLine (# 41 ;;
switch (kletka # 41;
<
case "1": res = "# 91; * 234567]"; break;
case "2": res = "# 91; 1 * 34567]"; break;
case "3": res = "# 91; 12 * 4567]"; break;
case "4": res = "# 91; 123 * 567]"; break;
case "5": res = "# 91; 1 234 * 67]"; break;
case "6": res = "# 91; 12345 * 7]"; break;
case "7": res = "# 91; 123456 *]"; break;
>
System.Console.Write ( "Ідентифікатор гри:" # 41 ;;
id = System.Console.ReadLine (# 41 ;;
res + = "-id" + id;
System.Console.Write ( "Дата створення:" # 41 ;;
gdata = System.Console.ReadLine (# 41 ;;
res + = "-" + gdata;
System.Console.Write ( "Час створення:" # 41 ;;
gtime = System.Console.ReadLine (# 41 ;;
res + = "" + gtime;
System.Console.Write ( "Хеш:" # 41 ;;
hash = System.Console.ReadLine (# 41 ;;
System.Console.Write ( "Повинні отримати це:" + hash + "# 92; n" # 41 ;;
System.Random rnd = new Random (# 41 ;;
System.Console.Write ( "Генерація почалася! # 92; n" # 41 ;;
System.Console.Write (DateTime.Now + "# 92; n" # 41 ;;
int mm = DateTime.Now.Minute;
int ss = DateTime.Now.Second;
do
<
// ------------------------------------------
add = ":" + a1 # 91; rnd.Next (5 # 41;]. ToString (# 41; # 91; 0] +
a2 # 91; rnd.Next (9 # 41;]. ToString (# 41; # 91; 0] +
"_" + A3 # 91; rnd.Next (66 # 41;]
+ a3 # 91; rnd.Next (66 # 41;]
+ a3 # 91; rnd.Next (66 # 41;]
+ a3 # 91; rnd.Next (66 # 41;]
+ a3 # 91; rnd.Next (66 # 41;]
+ a3 # 91; rnd.Next (66 # 41;]
+ a3 # 91; rnd.Next (66 # 41;]
+ a3 # 91; rnd.Next (66 # 41;];
// ------------------------------------------
predp = res + add;
reshash = md5hasher.Program.GetMD5Hash (predp # 41 ;;
//System.Console.Write("Получілі: "+ reshash +" # 92; n "# 41 ;;
count ++;
if ((DateTime.Now.Minute> mm # 41; (DateTime.Now.Second == ss # 41; # 41;
<
System.Console.Write ( "За хвилину згенеровано:" + count.ToString (# 41; + "варіантів. # 92; n" # 41 ;;
mm = DateTime.Now.Minute;
>
if (hash == reshash # 41;
<
System.Console.Write ( ". Даний хід є програшним." + "# 92; n # 92; n" # 41 ;;
genbul = true;
>
> While (! Genbul # 41 ;;
System.Console.Write ( "Натисніть будь-яку клавішу для виходу з програми" # 41 ;;
System.Console.Read (# 41 ;;
>
>
>
Чому C #.
Він схожий на Java.
Я не знайомий з C #, але все-таки написав цю програму за пару годин, чому.
Тому що я знайомий з Java.
Дату можна обчислити, час, крім секунд в принципі, теж, але це все балавство.
Програма генерує по 1,5 мільйона варіантів в хвилину (на Thurion 64 x2 1,8 Ггц)
Для освітніх цілей, програма підійде, з практичного боку, це непотріб.
Також, програма не претендує на еталон кодування, деякі речі можна переписати більш елегантно.