Mühendisbilir'i Instagramdan takip ediyor musunuz?

JAVADA CAPTCHA ÜRETME

Captcha Nedir
Web sitelerinin güvenliği için önel bir önlem olan captcha, botlara karşı önlem olarak etkili bir çözümdür. Bu test bilgisayarların çözemeyeceği ama insanların çözebileceği şeklinde testlerden oluşan testlerdir. Kısaca belirtmek gerekirse testte yer alan resmi bir insan inceleyip yorumlarken bir bilgisayar bunu yorumlayıp doğru kararı veremez. Captca kelime anlamı olarak sözlük anlamı yoktur. Kısaltma olan bu isim Completely Automated Public Turing test to tell Computers and Humans Apart ifadesinin kısaltmasıdır ve 2000 senesinde Manuel Blum, Luis von Ahn, John Langford ve Nicholas Hopper tarafından tasarlanmış ve adı verilmiştir. Bu uygulama internet ortamından indirilerek bireyler kendi sistemlerinde bot önleyici olarak kullanılabilir.Peki captcha javada nasıl yazılır? Sizin için yazdım bile.

paket capthaa;
java.util.Random içe aktarın; java.util.Scanner’ı içe aktarın;
public class capthaa {
public static void main (String [] args) {
Rastgele rnd = yeni Rastgele ();
boole deger = yanlış;
int rastgele, uretilensayi = 0;
Dizi dizisi [] = {“a”, “b”, “c”, “d”, “e”, “f”, “g”, “h”, “i”, “j”, “k”, “l”, “m”, “n”, “o”, “p”, “q”, “e”, “s”, “t”, “u”, “v”, “w”, “x “,” y “,” z “};
int dizib [] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
String buyukHarf = “”, kucukHarf = “”, rakam = “”;
int buyukHarfAdet, kucukHarfAdet, rakamAdet;
Tarayıcı girişi = yeni Tarayıcı (System.in);
int anahtaruzunluk = 7; // CAPTHA uzunluk
Dizi2 [] = new String [anahtaruzunluk];
buyukHarfAdet = rnd.nextInt (4);
System.out.println (“Üretilen büyük harf sayısı:” + buyukHarfAdet);
kucukHarfAdet = rnd.nextInt (4);
System.out.println (“Üretilen küçük harf sayısı:” + kucukHarfAdet);
rakamAdet = 7 – (buyukHarfAdet + kucukHarfAdet);
System.out.println (“Üretilen rakam sayısı:” + rakamAdet);
for (int i = 0; i <buyukHarfAdet; i ++) {
buyukHarf = dizi [rnd.nextInt (26)]. toUpperCase ();
dizi2 [i] = buyukHarf;

}
for (int i = buyukHarfAdet; i <buyukHarfAdet + kucukHarfAdet; i ++) {
kucukHarf = dizi [rnd.nextInt (26)];
dizi2 [i] = kucukHarf;

}
for (int i = buyukHarfAdet + kucukHarfAdet; i <buyukHarfAdet + kucukHarfAdet + rakamAdet; i ++) {
rakam = "" + dizib [rnd.nextInt (10)];
dizi2 [i] = rakam;

}

System.out.println ("—————————————–") ;
System.out.println ("Üretilen Harf ve Rakamlar");
for (int i = 0; i <anahtaruzunluk; i ++) {
System.out.print (dizi2 [i] + "");
}
System.out.println ("");
System.out.println ("—————————————–") ;
System.out.println ("Harf Ve Rakamların Şifrelenmiş Hali");

int sayac = 0;
int dizi3 [] = new int [anahtaruzunluk];
for (int i = 0; i <anahtaruzunluk; i ++) {
dizi3 [i] = anahtaruzunluk + 1;
}
for (int i = 0; i <anahtaruzunluk; i ++) {
deger = yanlış;
while (deger == false) {
uretilensayi = rnd.nextInt (anahtaruzunluk);
deger = true;
for (int j = 0; j <= i; j ++) {
eğer (uretilensayi == dizi3 [j])
{
deger = yanlış;
}
}
}
eğer (deger == true) {
System.out.print (dizi2 [uretilensayi] + "");
dizi3 [sayac] = uretilensayi;
sayac ++;
}

}
System.out.println ("");

}

}

Hakan Kılıç
S. Quality Engineer | El. Elec. Engineer | Fikirlerinizin Dijital Noktası