mboost-dp1

Kode-boks bug ved store kodestumper


Gå til bund
Gravatar #1 - Jace
5. jan. 2008 23:26
Heay, vil lige gøre opmærksom på at hvis man vil ligge store kodestumper ind i (code) (/code) så virker den ikke helt :)

I eksemplet herunder vil den f.eks. kun ligge de 3 første linjer ind i boksen og resten bliver bare smidt udenfor.
Gravatar #2 - Jace
5. jan. 2008 23:27

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;

public class HashFinderMT {
private int nthr;
private byte[] valid;
private boolean done;
public HashFinderMT(int nthr, String valid) {
this.nthr = nthr;
this.valid = valid.getBytes();
done = false;
}
public void findHash(byte[] target) throws NoSuchAlgorithmException {
int len = 1;
while(!done) {
System.out.println("Checking all passwords of length " + len);
findHash(target, len);
len++;
}
}
public void findHash(byte[] target, int len) throws NoSuchAlgorithmException {
Thread[] t = new FinderThread[nthr];
int[] split = new int[nthr + 1];
for(int i = 0; i <= nthr; i++) {
split[i] = valid.length * i / nthr;
}
for(int i = 0; i < nthr; i++) {
t[i] = new FinderThread(split[i], split[i + 1] - 1, this, len, target);
}
for(int i = 0; i < nthr; i++) {
t[i].start();
}
for(int i = 0; i < nthr; i++) {
try {
t[i].join();
} catch (InterruptedException e) {
}
}
}
public byte[] getValid() {
return valid;
}
public boolean getDone() {
return done;
}
public void setDone(boolean done) {
this.done = done;
}
public static void main(String[] args) throws NoSuchAlgorithmException {
// Demo : find zzzzz blandt små bogstaver og tal
HashFinderMT hfmt = new HashFinderMT(4, "abcdefghijklmnopqrstuwvxyz0123456789");
hfmt.findHash(MessageDigest.getInstance("SHA-256&quo
t;).digest("zzzzz".getBytes()));
}
}

class FinderThread extends Thread {
private MessageDigest md;
private int start;
private int end;
private HashFinderMT hfmt;
private byte[] buf;
byte[] target;
byte[] valid;
public FinderThread(int start, int end, HashFinderMT hfmt, int len, byte[] target) throws NoSuchAlgorithmException {
md = MessageDigest.getInstance("SHA-256");
this.start = start;
this.end = end;
this.hfmt = hfmt;
buf = new byte[len];
this.target = target;
valid = hfmt.getValid();
}
public void run() {
for(int i = start; i <= end; i++) {
buf[0] = valid[i];
checkAllHash(buf, 1);
}
}
public void checkAllHash(byte[] buf, int ix) {
if(hfmt.getDone()) return;
if(ix < buf.length) {
for(int i = 0; i < valid.length; i++) {
buf[ix] = valid[i];
checkAllHash(buf, ix + 1);
}
} else {
checkHash(buf);
}
}
public void checkHash(byte[] pw) {
if(Arrays.equals(md.digest(pw), target)) {
System.out.println("Found match: " + new String(pw));
hfmt.setDone(true);
}
}
}
Gravatar #3 - TullejR
6. jan. 2008 00:30
Næh, det ser da rigtigt ud, bortset fra at den ikke kan tælle til mere end 100 linjer.
Gravatar #4 - bjerh
6. jan. 2008 00:31
#3.. huh? Der er kun tre linier.. resten står uformateret...
Gravatar #5 - rackbox
6. jan. 2008 00:32
#3 hvilken browser/OS bruger du?
Gravatar #6 - hmn
6. jan. 2008 00:39
Der er en fejl i det html vi laver der gør at der ved mellemrum bliver lavet p tags, og det må man ikke i et code tag
Gravatar #7 - Jace
6. jan. 2008 00:45
#6: Vil det sige at det ikke kan fixes?
Gravatar #8 - Acro
6. jan. 2008 01:02
#7 Jace:
Alt kan selvfølgelig rettes, men det er ikke noget, der har så høj prioritet. Vi skal arbejde på at komme en masse punkter på vores arbejdsliste til livs næste weekend, så vi tager nok et kig på det der...
Gravatar #9 - Jace
6. jan. 2008 01:21
#8: Lyder lækkert... Sætter I jer sammen og koder hele næsten weekend og hygger med cola og sour creme? :)
Gravatar #10 - Acro
6. jan. 2008 01:29
#9 Jace:
Vi sætter os ind i et privatfly med en masse strippere. Så tager vi en tur til Las Vegas, spiller alle pengene fra annoncerne op (og det er mange), finder nogle ludere, spiser noget god mad og når vi så kommer hjem sent søndag nat, bruger vi typisk en 5-10 minutter på at diskutere, hvordan vi generer brugerne mest muligt med nye tiltag. Og så skriver vi dem ned på en liste, vi siger, vi arbejder på...

Eller sådan burde det foregå. Indtil videre har det været lidt anderledes, og vi har trods alt gjort det nogle gange før. Det foregår lidt som et LAN, hvor Jonas (bonna), Henrik (hmn) og jeg mødes i newz.dk-bunkeren og arbejder, indtil vi går døde på de dele af møblementet, der er mest behageligt at ligge på. Det er typisk efter de weekender, folk oplever mærkelige ting, hvis deres browser ikke kan finde ud af at forny cachen.

Så der er chips, cola, Hustler, junk fra Pizza Express, en masse brok fra min side over, at jeg skal lave ting, der også virker i Safari og ellers en voldsom reduktion af punkterne på trac. Sådan kan vi lide det!
Gravatar #11 - Acro
6. jan. 2008 01:31
Vi har også engang prøvet, hvor Esben (amokk) og Morten (The-Lone-Gunman) var med. Der spillede vi Worms World Party!
Gravatar #12 - themuss
6. jan. 2008 01:44
Fandme i orden #10 og #11... Jeg havde ikke forventet andet :)
Gravatar #13 - Jace
6. jan. 2008 01:50
#10: Hehe, det lyder sku hygge... Tager I ikke lige et kamera med og skyder lidt billeder og video?
Gravatar #14 - The-Lone-Gunman
6. jan. 2008 09:57
Vi har også engang prøvet, hvor Esben (amokk) og Morten (The-Lone-Gunman) var med. Der spillede vi Worms World Party!
Hvilket jeg går ud fra er grunden til at jeg ikke bliver inviteret mere...
Gravatar #15 - Mort
6. jan. 2008 10:44
Det ser rigtigt nok ud i Internet Exploder 7, selvfølgelig bortset fra nummereringen efter linie 100.
Gravatar #16 - plazm
6. jan. 2008 11:04
Det er fordi de snyder :p
http://newz.dk/gfx/default/bg_code.gif
Gravatar #17 - hmn
6. jan. 2008 12:54
Så skulle det være rettet, men som i kan se så er der stadig et problem med linjenumrene
Gravatar #18 - TullejR
6. jan. 2008 13:13
#4+5: Det ser rigtigt ud både i min firefox (2.0.0.10), og i konqueror fra kde 4..0.0...
Gravatar #19 - Cyrack
6. jan. 2008 13:17
hmn
kan du så ikke, når du alligevel er i gang, fixe mellemrum? En kodestump som den i denne tråd bliver noget uoverskuelig uden indrykning.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login