Hirdetés

2024. április 25., csütörtök

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)

Hozzászólások

(#5001) chabeee


chabeee
tag

Grafikus felületű programozást szeretném elkezdeni, alap java consoles tudás megvan, de ez kevés, és szeretnék egy olyan dokumentációt vagy tananyagot kérni ami részletesen leírja a dolgokat.

(#5002) dragon1993 válasza chabeee (#5001) üzenetére


dragon1993
őstag

+1
Illetve párhuzamos programozásból tudnátok ajánlani valamit ?

(#5003) -v- válasza dragon1993 (#5002) üzenetére


-v-
addikt

[link]
pl...

(#5001) chabeee: swing, vagy mi kéne?

[ Szerkesztve ]

(#5004) chabeee válasza -v- (#5003) üzenetére


chabeee
tag

Olyasmi koszi

(#5005) Ablakos


Ablakos
őstag

public class Main {
int i[] = {0};
static public void main(String[] args) {
int i[] = {1};
change_i(i);
System.out.println(i[0]);
}
public static void change_i(int i[]) {
int j[] = {2};
i = j;
}
}

Nem értem miért 1 és nem 2 az eredmény. :F

(#5006) Lortech válasza Ablakos (#5005) üzenetére


Lortech
addikt

Mert javaban érték szerinti paraméterátadás van.
A change_i {} scope-ban ha i-nek új értéket adsz, annak nincs hatása main {} scope-ban az i-re.
Itt sokféleképpen megpróbálják elmagyarázni.

[ Szerkesztve ]

Thank you to god for making me an atheist

(#5007) trisztan94 válasza Ablakos (#5005) üzenetére


trisztan94
őstag

Azért, mert amikor az i-nek a j-t adod értékül, akkor a metódus scope-jában lévő i változónak az értékét állítod.

Helyette:
this.i = j; - ezzel az osztályszintű változóra hivatkozol.

Pár dolog:
Kétszer van definiálva az i.
Miért tömb az i és a j? :F

[ Szerkesztve ]

https://heureka-kreativ.hu

(#5008) Superhun válasza trisztan94 (#5007) üzenetére


Superhun
addikt

Mert referencia szerint szeretne átadni primitíveket. Javaban ezt csak így lehet megoldani.

Továbbá osztályszintű metódusból nem fog tudni példányszintű változóra hivatkozni.

[ Szerkesztve ]

(#5009) fatal` válasza trisztan94 (#5007) üzenetére


fatal`
titán

static környezetben a this.i nem annyira lesz működőképes :)

(#5010) trisztan94 válasza Superhun (#5008) üzenetére


trisztan94
őstag

Látszik, hogy mennyire kijöttem a Java-s gyakorlatból, most, hogy C#-al foglalkozom többet. :B

A static modifiert meg nem vettem észre. No mindegy! :D

https://heureka-kreativ.hu

(#5011) fatal` válasza Superhun (#5008) üzenetére


fatal`
titán

Lehet még inner class primitívével is. :) Bár a tömb valóban egyszerűbb.

(#5012) juhasz22


juhasz22
aktív tag

Sziasztok.
Nem tudom hogy jo helyen jarok e de lenne egy kerdesem javaval kapcsolatban.
Az lenne a problémám hogy eljelejtettem egyik jelszavamat amit csak egy chromeban futott java plugin mentette el (ez konkrétan egy voip program) interneten mukodik belép magatol de nekem telefonra kellene igy jo lenne tudni a jelszot. Meglehet csinalni hogy valahogy vissza lehessen fejteni a jelszot?

valaszokat elore is koszonom!! :)

 iPhone SE (2020) --- Nintendo Switch™ OLED --- Sony PlayStation™ 4 Slim 500GB --- 55" LG C1 OLED

(#5013) xTc válasza juhasz22 (#5012) üzenetére


xTc
aktív tag

Chrome jelszókezelőjét nézted már?

(#5014) juhasz22 válasza xTc (#5013) üzenetére


juhasz22
aktív tag

igen de az csak a bongeszon beluli elmentett jelszokat mutatja. ez pedig javan belul van.

 iPhone SE (2020) --- Nintendo Switch™ OLED --- Sony PlayStation™ 4 Slim 500GB --- 55" LG C1 OLED

(#5015) xTc válasza juhasz22 (#5014) üzenetére


xTc
aktív tag

Hmm, szerintem nem valószínű, hogy ki fogod tudni deríteni? A jelszavakat titkosítva illik tárolni. Nem lehet az applikációban jelszót cserélni?

(#5016) juhasz22 válasza xTc (#5015) üzenetére


juhasz22
aktív tag

pedig elmentve van a jelszo pontokban latom csak jo lenne moge latni mert igy csap pc n tudom hasznalni telefonon nem.

[ Szerkesztve ]

 iPhone SE (2020) --- Nintendo Switch™ OLED --- Sony PlayStation™ 4 Slim 500GB --- 55" LG C1 OLED

(#5017) M_AND_Ms válasza juhasz22 (#5016) üzenetére


M_AND_Ms
addikt

Igen, el van mentve, de az nem visszafejthető. Mondj le róla és nézz utána, miképp lehet új jelszót igényelni!

Ha mégis visszanyerhető lenne a jelszó, akkor meg az egész cuccról mondj le, mert ezek szerint nem biztonságos!

Aki tejszínhabot szeretne, az inkább verje ki a fejéből!

(#5018) xTc válasza M_AND_Ms (#5017) üzenetére


xTc
aktív tag

Hatalmas +1 :)

(#5019) sztanozs válasza juhasz22 (#5014) üzenetére


sztanozs
veterán

Biztos, hogy java és nem js-el generált HTML tartalom (esetleg flash)?

M_AND_Ms: ha el van mentve, akkor visszafejthető (vagy közvetlenül felhasználható).

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#5020) xTc válasza sztanozs (#5019) üzenetére


xTc
aktív tag

Ha el van mentve, akkor visszafejthető (vagy közvetlenül felhasználható.

Ezt miből gondolod? Ha titkosítva van, pl SHA1-gyel és SALT-tal akkor, hogy fejted vissza? Az MD5 egyszerűbb eset, ott elképzelhető.

(#5021) juhasz22 válasza sztanozs (#5019) üzenetére


juhasz22
aktív tag

Laikus vagyok így azt mondom, hogy lehet.
Abból gondolom mert a Chrome Java Plug-in engedélyezését kéri mielott elindulna.
de itt van a link

[ Szerkesztve ]

 iPhone SE (2020) --- Nintendo Switch™ OLED --- Sony PlayStation™ 4 Slim 500GB --- 55" LG C1 OLED

(#5022) Lortech válasza M_AND_Ms (#5017) üzenetére


Lortech
addikt

Szerver oldalon titkosítva illik tárolni, és titkosítva is illik továbbküldeni a kliensnek a szerver felé, de kliens oldalon mivel a kliensnek nem ártana tudnia a jelszót a szerver felé elküldeni autentikációra, ezért még ha nem is plain textben van valahol tárolva a mentett jelszó, a kliens oldalon akkor is rendelkezésre kell álljon minden információ az eredeti jelszó visszanyeréséhez vagy legalább a sikeres autentikáció reprodukálásához (pl. ha közbe van iktatva egy hash és a szerver is hasht vizsgál).

Ezek szerint a böngészők sem biztonságosak ilyen szempontból, mert tárolják a jelszavakat, nem plain textben, de visszanyerhető formában. Pl. chromeban ilyen egyszerű: chrome://settings/passwords Egyébként tényleg nem biztonságos a jelszó megjegyeztetése kb. sehol, ez egy kényelmi feature. Ha egyszer az alkalmazásnak is vissza kell tudnia nyernie a mentett jelszót vagy annak lenyomatát, akkor ugyan lehet bonyolítani a dolgot a tárolásnál és autentikációnál, de ha helyileg hozzáférsz a géphez, ahol meg van jegyeztetve a jelszó, akkor mindig meg lehet szerezni a jelszót vagy azt a tokent amit autentikációhoz használ az alkalmazás.

Abban viszont egyetértek, hogy az elfelejtett jelszóra a gyógymód az, hogy fel kell venni a kapcsolatot a gyártóval / szolgáltatóval az új jelszó igénylése érdekében. Amúgy sem célszerű senkinek ilyen dolgokban segíteni egy névtelen fórumon, ahol nem lehet meggyőződni arról, hogy az illető tényleg jogosult-e a jelszó megismerésére, a szolgáltatás használatára.

[ Szerkesztve ]

Thank you to god for making me an atheist

(#5023) Lortech válasza Lortech (#5022) üzenetére


Lortech
addikt

Itt konkrétan 1 perc volt megtalálni a beírt jelszót, mivel mezítlábas http-n plain text-ben küldözgeti.
Még 2 perc volt megtalálni hogy hol van a fájl, ahol a jelszót hashelt (nem egyirányú) formában tárolja, majd még néhány perc volt, amíg az alkalmazás nyilvánosan elérhető forrását felhasználva a beírt jelszavamat visszafordítottam a hashből.

[ Szerkesztve ]

Thank you to god for making me an atheist

(#5024) juhasz22 válasza Lortech (#5023) üzenetére


juhasz22
aktív tag

Felejtős akkor?
link

 iPhone SE (2020) --- Nintendo Switch™ OLED --- Sony PlayStation™ 4 Slim 500GB --- 55" LG C1 OLED

(#5025) Karma válasza juhasz22 (#5024) üzenetére


Karma
félisten

A Java applet nem tud bárhova írni a rendszerben, valószínűleg a \Users\felhasználód\AppData\Local alatt tárolhatja a dolgait. De amint géphez értem, megnézem alaposabban.

“All nothings are not equal.”

(#5026) juhasz22 válasza Karma (#5025) üzenetére


juhasz22
aktív tag

Előre is köszönöm ;)

 iPhone SE (2020) --- Nintendo Switch™ OLED --- Sony PlayStation™ 4 Slim 500GB --- 55" LG C1 OLED

(#5027) Lortech válasza juhasz22 (#5024) üzenetére


Lortech
addikt

Mi? Írtam, hogy kétféleképpen is vissza lehet nyerni a jelszót ennél az alkalmazásnál.
User mappába / .reenger.xml-be rakta nálam, de itt be van hashelve.

pl: "<pass>crypto(1,67ded21c107401015d5a05020163701f60)</pass>" = "test"

Ennyi a decode:

public static String decodePassword(String crypto) {
int sl = crypto.length();
if (sl < 10) return null;
char key = (char)(int)Integer.valueOf(crypto.substring(8,10), 16);
char newkey;
crypto = crypto.substring(10, sl - 8);
int cl = (sl - 18) / 2;
char ca[] = new char[cl];
for(int p=0;p<cl;p++) {
ca[p] = (char)(int)Integer.valueOf(crypto.substring(p*2, p*2+2), 16);
newkey = (char)(key ^ ca[p]);
ca[p] ^= key;
key = newkey;
}
crypto = new String(ca);
//System.out.println("d1=" + crypto);
cl = crypto.length() / 2;
ca = new char[cl];
for(int p=0;p<cl;p++) {
ca[p] = (char)(int)Integer.valueOf(crypto.substring(p*2, p*2+2), 16);
}
for(int p=0;p<cl;p++) {
ca[p] ^= 0xaa;
}
char tmp;
for(int p=0;p<cl/2;p++) {
tmp = ca[p];
ca[p] = ca[cl-p-1];
ca[cl-p-1] = tmp;
}
return new String(ca);
}

De még egyszerűbb a fiddlert felrakni és megnézni a http forgalmat, ha nem értesz java-hoz.

Thank you to god for making me an atheist

(#5028) juhasz22 válasza Lortech (#5027) üzenetére


juhasz22
aktív tag

jujj de nekem szájbarágosan kell elmagyarázni mert teljesen láma vagyok ilyen téren.
eltudod magyarázni mert nem értem mit kellene csinálnom. :B

szek. közben megvan a reenger xml

[ Szerkesztve ]

 iPhone SE (2020) --- Nintendo Switch™ OLED --- Sony PlayStation™ 4 Slim 500GB --- 55" LG C1 OLED

(#5029) Karma válasza Lortech (#5027) üzenetére


Karma
félisten

Nekem személy szerint nem jött át, hogy az "itt" a kérdésre utalt :)
Szép munka.

juhasz22: Ha ez a helyzet, akkor praktikusan elő kellene kerítened a .reenger.xml fájlt a gépedről, és megosztani.

[ Szerkesztve ]

“All nothings are not equal.”

(#5030) juhasz22 válasza Karma (#5029) üzenetére


juhasz22
aktív tag

megvan az xml de komolyan fogalmam sincs mit kell vele csinálnom.

 iPhone SE (2020) --- Nintendo Switch™ OLED --- Sony PlayStation™ 4 Slim 500GB --- 55" LG C1 OLED

(#5031) juhasz22 válasza Lortech (#5027) üzenetére


juhasz22
aktív tag

feltettem a Fiddlert belehuztam a reenger.xlm-t de nem tudom hogyan tovább. :W

 iPhone SE (2020) --- Nintendo Switch™ OLED --- Sony PlayStation™ 4 Slim 500GB --- 55" LG C1 OLED

(#5032) WonderCSabo válasza Lortech (#5027) üzenetére


WonderCSabo
félisten

Ez milyen algoritmus?

(#5033) Lortech válasza WonderCSabo (#5032) üzenetére


Lortech
addikt

Sajnos nem tudom. Lehet, hogy nem volt egyértelmű, de ezt a decode-t természetesen nem én írtam, hanem a program szabadon elérhető forráskódjából szedtem ki.

juhasz22: elnézést, a fiddler amúgy is rossz tipp volt, mert a java alkalmazás http forgalmát nyilván nem fogja meg attól, hogy web startból indul. Csak a böngészők (abból se mindegyikét) forgalmát mutatja. Én konkrétan wiresharkot használtam, http protokollra szűrve. Fiddler némileg egyszerűbb használni, ezért ajánlottam. Egyébként mindkettő arra jó nagy vonalakban, hogy megmutatja a hálózati forgalmadat, előbbi http protokoll, utóbbi alacsonyabb szinten. Az xml fájlhoz nincs közük, az a másik módszerhez kell, ha te magad akarod a fenti metódussal visszanyerni a jelszót, aminek a kódolt változata az xml-ben van.

[ Szerkesztve ]

Thank you to god for making me an atheist

(#5034) juhasz22 válasza Lortech (#5033) üzenetére


juhasz22
aktív tag

Ezt a Wiresharkot hogy tudom használni? Mert így sem tudom kiszedni belöle a jelszót. :(

 iPhone SE (2020) --- Nintendo Switch™ OLED --- Sony PlayStation™ 4 Slim 500GB --- 55" LG C1 OLED

(#5035) Karma válasza juhasz22 (#5031) üzenetére


Karma
félisten

Ezen a vonalon ne is próbálkozz. A Lortech által írt Java kódból kellene egy kis programot rittyenteni, ami meghívja azt a függyvényt a te passodra...

“All nothings are not equal.”

(#5036) juhasz22 válasza Karma (#5035) üzenetére


juhasz22
aktív tag

Akkor mit tegyek, szükségem lenne arra a jelszóra.

 iPhone SE (2020) --- Nintendo Switch™ OLED --- Sony PlayStation™ 4 Slim 500GB --- 55" LG C1 OLED

(#5037) juhasz22 válasza Lortech (#5033) üzenetére


juhasz22
aktív tag

Nem tudod nekem az xml ből kinyerni a jelszót mert én kb. hozzá sem tudok látni annyira nem tudom hogy kell.

 iPhone SE (2020) --- Nintendo Switch™ OLED --- Sony PlayStation™ 4 Slim 500GB --- 55" LG C1 OLED

(#5038) WonderCSabo válasza juhasz22 (#5037) üzenetére


WonderCSabo
félisten

Én összedobtam a progit, de nem tudom pontosan, hogy mit vár Lortech fv-e, minden kombinációmra elszáll. Sztem Lortech mindjárt összerakja Neked normálisan, meghívod egy argumentummal és kész.

(#5039) juhasz22 válasza WonderCSabo (#5038) üzenetére


juhasz22
aktív tag

:) :) Nem igazán értem mit mondasz pontosan de jól hangzik :D

 iPhone SE (2020) --- Nintendo Switch™ OLED --- Sony PlayStation™ 4 Slim 500GB --- 55" LG C1 OLED

(#5040) Lortech válasza juhasz22 (#5036) üzenetére


Lortech
addikt

A már írt okok miatt én az utolsó lépést nem akarom megtenni helyetted (vagy más helyett), valamint a jelszavadat sem akarom tudni, anélkül pedig elég nehézkes lenne segíteni. Feltehetőleg a telefonon is kell legyen egy reenger.xml nevű fájl valahol, ebben a fájlban a
<pass>crypto(1,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)</pass> sort kell kicserélned a gépeden lévőre.

De mindegy, közben összehánytam ide: [link]
1, Kattints a linkre.
2, az Input Arguments (args of Main Method)... szövegmezőbe írd be a .reenger.xml-ben található crypto(1,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) sorból a "," és ")" közötti szöveget,
tehát pl. <pass>crypto(1,67ded21c107401015d5a05020163701f60)</pass>
esetén ez a 67ded21c107401015d5a05020163701f60
3, nyomd meg az execute-ot.
4, ha mindent jól csináltál, "Result... " alatt ott lesz a jelszavad az oldal újratöltése után.

[ Szerkesztve ]

Thank you to god for making me an atheist

(#5041) juhasz22 válasza Lortech (#5040) üzenetére


juhasz22
aktív tag

:C :DD Nagyon köszönöm sikerült. :DD :C

 iPhone SE (2020) --- Nintendo Switch™ OLED --- Sony PlayStation™ 4 Slim 500GB --- 55" LG C1 OLED

(#5042) sztanozs válasza WonderCSabo (#5032) üzenetére


sztanozs
veterán

Első pillantásra valami dupla xor, ami a magát a password-öt is felhasználja a kódolásra.

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#5043) MasterMark


MasterMark
titán

Üdv gyors kérdés:
Hogy kell kiíratni egy tömb összes elemét?

Köszi. :R

Switch Tax

(#5044) fatal` válasza MasterMark (#5043) üzenetére


fatal`
titán

for (int i = 0; i < array.length; i++) {
System.out.println(array[i].toString());
}

(#5045) MasterMark válasza fatal` (#5044) üzenetére


MasterMark
titán

Köszi, sikerült. :R

A .toString() mit csinál? Hibát jelzett rá, kitöröltem így jó. Double-ek vannak a tömbben.

[ Szerkesztve ]

Switch Tax

(#5046) Karma válasza MasterMark (#5045) üzenetére


Karma
félisten

A toString egy olyan metódus, ami minden objektumnak van, és valamilyen formában Stringet állít elő az objektumból.

A double egy primitív típus, így nincsenek metódusai.

Ha általánosan akarod kiiratni a primitív és objektumtípusokat is, használd a String.valueOf(valami) statikus metódust a valami.toString() helyett.

[ Szerkesztve ]

“All nothings are not equal.”

(#5047) MasterMark válasza Karma (#5046) üzenetére


MasterMark
titán

Ezt így most nem értettem, de azért köszi. :)

Egyelőre a tömböket sem értem. A fenti ciklussal kiíratom, akkor csak 11 szám jön ki. A hosszúságának 11-et adtam meg, de elméletileg nem úgy van, hogy 0-11-ig megy, vagyis 12 eleme van?

Switch Tax

(#5048) fatal` válasza MasterMark (#5047) üzenetére


fatal`
titán

Nem. Ha 11-et adsz meg hosszúságnak, akkor 11 eleme lesz, 0-tól 10-ig.

(#5049) Karma válasza MasterMark (#5047) üzenetére


Karma
félisten

Nem. Ha egy tömböt 11 eleműnek hozol létre, akkor az 11 elemet tartalmaz, 0-tól 10-ig indexelve.

“All nothings are not equal.”

(#5050) MasterMark válasza fatal` (#5048) üzenetére


MasterMark
titán

Hmm.

Akkor: double[] km = new double[12];
utána így akarnék bele írni: km[12] = 200;
erre ezt írja hibának:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 12
at javaapplication1.JavaApplication1.main(JavaApplication1.java:38)
Java Result: 1

[ Szerkesztve ]

Switch Tax

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.