search
Giriş
Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
1.5k gösterim
Merhaba ben rastgele bir şifre oluşturmak istiyorum. Büyük küçük harf ve sayılar içeren. Bu konuda yardımcı olabilir misiniz ?
Java kategorisinde 365 puan

1 cevap

0 oy

Böyle bir şifre oluşturmaya ihtiyacım olmuştu ve aşağıda gibi bir şey yaptım umarım işinize yarar.

 

import java.util.ArrayList;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;

public class Sifre {

	public static void main(String[] args) {
		
		String pswrd = "";
		
		ArrayList<String> sayilar = new ArrayList<String>();
		ArrayList<String> kucukHarfler = new ArrayList<String>();
		
		sayilar.add("0"); sayilar.add("1");
		sayilar.add("2"); sayilar.add("3");
		sayilar.add("4"); sayilar.add("5");
		sayilar.add("6"); sayilar.add("7");
		sayilar.add("8"); sayilar.add("9");

		kucukHarfler.add("a"); kucukHarfler.add("b");
		kucukHarfler.add("c"); kucukHarfler.add("d"); 
		kucukHarfler.add("e"); kucukHarfler.add("f"); 
		kucukHarfler.add("g"); kucukHarfler.add("h");
		kucukHarfler.add("i"); kucukHarfler.add("j"); 
		kucukHarfler.add("k"); kucukHarfler.add("l"); 
		kucukHarfler.add("m"); kucukHarfler.add("n");
		kucukHarfler.add("o"); kucukHarfler.add("p"); 
		kucukHarfler.add("q"); kucukHarfler.add("r");
		kucukHarfler.add("s"); kucukHarfler.add("t");
		kucukHarfler.add("u"); kucukHarfler.add("v");
		kucukHarfler.add("w"); kucukHarfler.add("y");
		kucukHarfler.add("z"); kucukHarfler.add("x");
		
		
		
		ArrayList<String> liste = new ArrayList<String>();
		
		//Benim ihtiyacım olan şifre 2 küçük harf, 2 büyük harf, 2 sayi
		// ve diğer ikisi rastgele karakter olan 8 karakterlik bir şifreydi
		//önce for içinde rastgele 3 değer alıp bu değerlere karşılık gelen
		//karakterleri dizinin içine atıyorum

		for (int i = 0; i < 2; i++) {
			int randomKucuk1 = (1 + (int) (Math.random() * 26));	
			int randomBuyuk1 = (1 + (int) (Math.random() * 26));
			int randomSayi1 = (1 + (int) (Math.random() * 10));
			liste.add(kucukHarfler.get(randomKucuk1-1));
			String buyukHarf =kucukHarfler.get(randomBuyuk1-1);
			liste.add(buyukHarf.toUpperCase());
			liste.add(sayilar.get(randomSayi1-1));
			
			//burda randomKucuk1 sayisi rastegele olacağı için, 
			//26 değerlik diziyi 3 parçaya ayırdım ve gelen değerlere
			//göre küçük, büyük harf ya da sayı aldım.
			
			if(randomKucuk1<10){
				int randomKucuk2 = (1 + (int) (Math.random() * 26));
				liste.add(kucukHarfler.get(randomKucuk2-1));
			}
			else if(randomKucuk1<20 && randomKucuk1>=10) {
				int randomBuyuk2 = (1 + (int) (Math.random() * 26));
				String bykHarf =kucukHarfler.get(randomBuyuk2-1);
				liste.add(bykHarf.toUpperCase());
			}
			else {
				int randomSayi2 = (1 + (int) (Math.random() * 10));
				liste.add(sayilar.get(randomSayi2-1));
			}
    // döngü 2 defa döndüğü için toplamda 8 karakter elde ediyoruz
		}

// burda da oluşturduğumuz şifre sabit bir sırayla olmaması için
//üstte ki arraylist i karıştırıyorum.
		for (int i = 8; i >= 1; i--) {

			int deger = (1 + (int) (Math.random() * i));
			pswrd += liste.get(deger - 1);
			liste.remove(deger - 1);

		}
		System.out.println("sifre:"+pswrd);
		
	}

}

 

365 puan

İlgili sorular

1 oy
1 cevap 687 gösterim
687 gösterim
Elimde şöyle bir timestamp objesi var, bu uygulamanın bulunduğu sunucunun ın tarihini mi yoksa local bilgisayarın tarihini mi alır emin olmak istedim? Timestamp D = new Timestamp(System.currentTimeMillis());
8 Kasım 2016 Java kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
2 cevap 1.1K gösterim
1.1K gösterim
Angular uygulamasına login sayfası koymak isterken karşılaştığım Token mantığını java backend tarafında halletmek istedim ama çok fazla uğraştırdı. Bunun daha kolay bir yöntemi var mıdır? Angular üzerinden http.post ile user credentials parametreleri ile java api çağrılır. Java ... tutulabilir. Ama bu şekilde çok fazla bir iş yükü ortaya çıktı bunun daha kolay bir yolu var mıdır? Teşekkürler
15 Şubat 2018 Javascript kategorisinde erkanerkisi 211 puan sordu
0 oy
1 cevap 1.1K gösterim
1.1K gösterim
Selam, Elimde Türkçe karakter içeren bir String var. Örn: String str = "Şeyma Altınoğlu"; Bunu şu şekilde ele almak istiyorum. Çıktı: "Seyma Altinoglu" Nasıl yapabilirim?
23 Haziran 2021 Java kategorisinde kupanintorunu 365 puan sordu
0 oy
1 cevap 494 gösterim
494 gösterim
Selamlar, Veritabanıyla birkaç işlem yapmak istiyorum. Örnek olarak; önce tabloyu truncate edip, sonrasında başka bir tabloyu truncate ettiğim tabloya kopyalayacağım. Bunun için birden fazla PreparedStatement oluşturmam gerekli mi? String sqlQuery1 = "TRUNCATE TABLE ... prStmt = dbCxn.prepareStatement(sqlQuery1); prStmt.close(); Nasıl bir yol izlemem gerekir yardımcı olur musunuz?
28 Mayıs 2021 Java kategorisinde kupanintorunu 365 puan sordu
0 oy
1 cevap 341 gösterim
341 gösterim
Merhaba, Elimde iki tane String var. Birisi "Active Directory(asd)" diğeride "Azure Active Directory(qwe)" şeklinde. Parantez içindeki kısımlar değişiyor. Ben de parantez içinde olan kısımları almadan string'e göre iş yapmak istiyorum. contains kullandığım zaman bir string diğerini kapsadığı için hiç ikinciye gelmiyor. Nasıl çözebilirim?
24 Haziran 2020 Java kategorisinde kupanintorunu 365 puan sordu