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
80 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 222 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);
		
	}

}

 

222 puan

İlgili sorular

1 oy
1 cevap 136 gösterim
136 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 1.9k puan sordu
0 oy
2 cevap 335 gösterim
335 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 210 puan sordu
0 oy
1 cevap 13 gösterim
13 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 Java kategorisinde kupanintorunu 222 puan sordu
0 oy
1 cevap 50 gösterim
50 gösterim
Bir string içerisinde aradığım kelimenin olup olmadığını kontrol etmek istiyorum bunu nasıl yapabilirim?
6 Mayıs Java kategorisinde kupanintorunu 222 puan sordu
0 oy
1 cevap 148 gösterim
148 gösterim
Java da girilen Türkçe karakterli bir metini ingilizce karakterli hale çevirmek istiyorum. Yardımcı olabilir misiniz?
5 Mart Java kategorisinde kupanintorunu 222 puan sordu