Inlägg

Inlägg som pekz0r har skrivit i forumet
Av pekz0r

Program för synkronisering över SSH

Hej, jag söker någon bra gratis mjukvara(gärna open source) för synkronisering av filer och mappar över SSH.

Jag vill ha ett program som kan göra följande:
När datorn startas upp(och internetanslutning finns) ska programmet automatiskt synkronisera och uppdatera så att de senaste versionerna finns på både SSH-server och lokalt.
Sedan ska alla ändringar jag gör lokalt i den synkronierade mappen laddas upp automatiskt, antingen att den känner av när man gör en ändring eller med ett visst intervall(t.ex. var 5:e min).

Jag har hittat ett par program som verkat bra, men de har inte haft stöd för SSH-anslutningar utan bara FTP.

Finns det något bra program som klarar detta?
Väldigt tacksam för svar!

Av pekz0r
Citat:

Ursprungligen inskrivet av Psionicist
Plaintext måste ha en längd som är en multipel av 16. Din exempeltext har längd 40.

Detta löses genom att lägga till tecken i slutet (padding) så att texten får rätt längd. En vanlig lösning är att du paddar med längden, exempelvis om du behöver 7 extra bytes för att din text ska vara tillräckligt lång lägger du till "\x07\x07\x07\x07\x07\x07\x07" (sju stycken 0x07). Det är då enkelt för mottagaren att ta bort rätt mängd padding.

Jo, precis.
Men vad jag förstår så görs detta automatiskt på den här raden:

$cipherText = mcrypt_generic($cipher,$cleartext );

Jag testade även med en text med en 32 bitar lång text men det gjorde ingen skillnad.
Det verkar lättare med SSL, men kan jag göra det utan certifikat(självsingerat eller inte)?

Av pekz0r

Ehm, jadu.
Det är förmodligen en bättre ide

Av pekz0r

Krypterad Java<->PHP Socket (BadPaddingException)

Hej!

Jag försöker göra en socket anslutning mellan en websida i PHP och en Java applikation.
Anslutningen måste vara krypterad på något sätt.

Jag har försökt i två dagar nu men jag lyckas inte få till det. valigt text har jag inte haft någora probem med, det är själva krypteringen och dekrypteringen som inte fungerar.

Vad jag förstått så är Rijndael och AES samma krypterings algorthm.

Felmeddelandet jag får i Javaapplikationen när jag ska dekryptera datan är:
javax.crypto.BadPaddingException: Given final block not properly padded

PHP(socket client)

$cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, ''); $key128 = '1234567890123456'; $iv = '1234567890123456'; $cleartext = 'Denna text ska krypteras och dekrypteras'; echo "Len: ".strlen($cleartext); if (mcrypt_generic_init($cipher, $key128, $iv) != -1) { $cipherText = mcrypt_generic($cipher,$cleartext ); mcrypt_generic_deinit($cipher); printf("<br /><br />128-bit encrypted result:\n%s\n\n",bin2hex($cipherText)); } echo "Len: ".strlen($cipherText); $host="*IP*" ; $port=4444; $timeout=10; $sk=fsockopen($host,$port,$errnum,$errstr,$timeout) ; if (!is_resource($sk)) { exit("connection fail: ".$errnum." ".$errstr) ; } else { fputs($sk, $cipherText) ; $dati="" ; while (!feof($sk)) { $dati.= fgets ($sk, 1024); } } fclose($sk) ; echo($dati) ;

Java(Socket server)

//String key1 = "1234567812345678"; String key1 = "1234567890123456"; byte[] key2 = key1.getBytes(); SecretKeySpec secret = new SecretKeySpec(key2, "AES"); try { in = new DataInputStream(s.getInputStream()); out = new DataOutputStream(s.getOutputStream()); Cipher inCipher = Cipher.getInstance("AES"); inCipher.init(Cipher.DECRYPT_MODE, secret); byte b2; String str, str2; byte[] b = new byte[32]; int count; while((count = in.read(b)) >= 0 ) { System.out.println("count: " + count); str = new String(b); System.out.println("string: " + str); byte[] decrypted = inCipher.doFinal(b); str2 = new String(decrypted); System.out.println("decrypted: " + str2); str = new String(b); System.out.println("string: " + str); } } catch (Exception e) { System.out.println(e); }

Av pekz0r

Tack så mycet Elgot och Peo_Bond

Jo, den där konverteringen lade jag precis in och han inte testa den. Och ToCharArray-konverteringen blir ju onödig nu.

Av pekz0r

Ja, det vore kanske bra om kunde kunde få kolla i det lite

Detta är en skoluppgift, men jag vill skiva koden själv så mycket som möjligt. Men jag kollar gäna på din kod för att se hur du har gjort det!

Av pekz0r

[C#]Hjälp med kontroll av personnummer

Hej!

Jag har slitit mitt hår i 2 dagar nu och jag fattar inte varför det blir som det blir.

Det jag försöker göra är en metod som kontrollerar om kontrollsiffran i ett personummer är korrekt.
För att ni ska förstå ska jag förklara hur kontrollsiffran kontrolleras. Den beräknas enligt följande:
Varje siffra i personnummret multipliceras varanan gång med 1 eller 2(med början på 2) och sedan läggs all produkterna ihop. Om en produkt blir 10 eller större så delas den till 1+6 om vid produkten 16(dvs produkten minus 9).
Därefter ska summan + kontrolltalet vara jämnt delbart med 10.

Exempel:
Personnummer: 720310-1212

7 * 2 = 14 -> 1 + 4
2 * 1 = 2 -> 2
0 * 2 = 0 -> 0
3 * 1 = 3 -> 3
1 * 2 = 2 -> 2
0 * 1 = 0 -> 0
1 * 2 = 2 -> 2
2 * 1 = 2 -> 2
1 * 2 = 2 -> 2
2 * 1 = 2 -> 2
1 + 4 + 2 + 0 + 3 + 2 + 0 + 2 + 2 + 2 + 2 = 20
20 / 10 = 2 Godkänt!

Till problemet:

Jag har skrivit ihop koden nedan men resultat blir jättekonstigt.
De två Messageboxarna är för debugging och det är där problemet är.
variablerna "temp" och "pnrchars[i]" bör ju vara identiska i eller att "temp" är dubbla "pnrchars[i]" det skedet men så är inte fallet.
Istället verkar temp få värdet 48 + pnrchars[i] (alternativt det * 2) vilket är helt orimligt.
Därför blir ju givetvis även reslutatet fel.

Någon som förstår varför det blir så?

Här är koden till hela metoden:

public bool checkPnr() { int len, pnummer; String pnr = this.pnumber; try { pnummer = Convert.ToInt64(pnr); } catch (System.FormatException e) { return false; } char[] pnrchars = pnr.ToCharArray(); len = pnr.Length; if (len != 10) return false; int tot = 0; int temp = pnrchars[2]; MessageBox.Show("TEMP" + temp); for (int i = 0; i < len; ++i) { int temp = 0; temp = Convert.ToInt32(pnrchars[i]); if (i % 2 == 0) temp = Convert.ToInt32(pnrchars[i]); else temp = Convert.ToInt32(pnrchars[i]) * 2; MessageBox.Show("PNR" + pnrchars[i]); MessageBox.Show("TEMP" + temp); if (temp >= 10) tot += temp - 9; else tot += temp; } MessageBox.Show("Tot: " + tot); if (tot % 10 == 0) return true; else return false; }

Av pekz0r

Okej. Synd att det är ett AMD-kort bara.
Jag har redan en s775 CPU som jag tänkte använda.

Finns det några bra s775 moderkort med inbyggd ATI grafik?
AMD och äger ATI tillverkar väll inte chipsets och GUPer till Intels CPUer?

Av pekz0r

Okej, tack så mycket.
Det blir nog ett sådant då

Det går bara att använda ett av de integerade samtidigt va?

Av pekz0r
Citat:

Ursprungligen inskrivet av hunden
Det går att ordna men helst ska man ha samma tillverkare på både det inbyggda och det lösa grafikkortet.
I Windows Vista är det omöjligt att köra med olika grafikkortstillverkare men under XP går det med lite pill.

Med tillverkare menar jag då Nvidia och ATI.

Hum, synd att jag har ett ATI-kort då.
Tack för svaren då. Det verkar ju inte helt omöjligt då iaf.

Av pekz0r

2 skärmar har jag haft länge och det har aldrig varit någora större problem med UltraMon.
Så det är alltså möjligt att skicka ut 3st videosignaler samtidigt?

Av pekz0r
Citat:

Ursprungligen inskrivet av stenmark
Men rent generellt, gör du ett "ingenjörs jobb" dvs jobbet kräver att du är ingenjör. Så bör du iaf kräva 25K +- lite grann kanske
Men om du inte är fördigutbildad än och har det som extraknäck så kan du ju inte kräva samma lön. Men om det ändå är ett kvalificerat jobb som är ett "nästan ingenjörs jobb" (bra uttryck där) så känns ju inte 22-24 som en ormlig lön.

Fast nu var det ju ett deltidsjobb...
Hur många timmar i veckan ska du jobba?

Av pekz0r

Integerat + vanligt grafikkort för att få 3 utgångar?

Hej!

Jag skulle vilja veta om det går att använfa det integerade grafikkortet samtidigt som man använder två uttag på vanligt insticks grafikkort för att få totalt 3st videoutgångar på datorn.

Som moderkort hade jag tänkt mig något i stil med Gigabyte GA-73PVM-S2H.
Det ska användas ihop med ett HD 2600 grafikkort.

Någon som vet om det går att få ut 3 videosignaler samtidigt?

Av pekz0r
Citat:

Ursprungligen inskrivet av stenmark
Är det bara jag som tycker att det suger att programera på laptop?
Nä, minst 24" skärm ska det vara, så kan man läsa tex. specar och källkod på samma skärm

Jag kör med 2st 20,1" skärmar eller eventuellt 1 20,1"skärm och en 12"(laptopen).
Det är väldigt skönt att ha mycket yta att jobba på så att man slipper sitta och tabba som en galning.

Jag har själv en laptop med en gamal P4a på 1,8 GHz och 4GB RAM.
På den har jag kört en hel del Netbeans bland annat. Och som någon skrev ovan så tar det ganska lång tid at starta det vilket kan vara ganska irriterande ibland. Men när programmet väl är startat så tycker jag att det flyter väldigt bra. Jag märker knappt någon skilland alls mot betdyligt snabbare processorer vid vad vanlig användening och det är itne jättestor skilland vid kompliering heller.
Jag kör det under windows XP.

Jag skulle nog fixa 2GB RAM till den, det tror jag verkligen du kommer ha nytta av.
Du kommer säkerligen klara dig med den, speciellt om du installerar 2GB ram.

Av pekz0r

Jag har en slumpad hash-sträng som ändras varje gång man startar en ny session(session ttl är 30 min).
Sedan binder jag cookien till användarens IP och id.

Ett annat bra sätt att förhindra cookiestöld vara att sätta cookien till http-only.

Av pekz0r
Citat:

Ursprungligen inskrivet av Aqualize
Säg aldrig så
XP har minimumkrav på 64 MiB och rekommenderat 128 MiB. När det kom var det väl vad man hade ungefär (kanske 256 MiB) och man klarade sig bra.
Ni sitter vi och tycker att en XP-maskin ska ha minst 2 GiB minne.
Om några år kommer det bli likadant för Vista att man "måste" ha mycket minne för att det ska ses som vettigt för en ny burk.

Precis. Bil Gates sa ju att 640kb sekundär lagring kommer att räcka för all framtid
Vi har ju kommrt förbi det med ganska god marginal nu.

OT: Riktigt nice med när man kan få så mycket ram i datorn. Det räcker ju för att stoppa in hela operativsystemet om ett par program/spel direkt i ramen

Av pekz0r

Det är visserligen bara en eller möjligen två tabeller som jag ska ha dessa triggers på och detta fall är det högst önskvärt.

Av pekz0r

Jag flera olika saker som skriver till database förutom websidan i PHP.
Det är bland anant ett serverprogram som är skrivet i C++ och det vill jag hällst undvika att fixa memcached till det programmet.

Sedan tycker jag att det vore mycket smidigare att göra detta med en trigger i databasen isället för lägga till detta på eb massa olika ställen i koden.

Är det någon nackdel med att göra det i triggers?

Av pekz0r

Uppdatera Memcached med en MySQL trigger

Hej!

Om jag fattar det rätt så går det att lägga in en trigger i en MySQL tabell som automatiskt uppdaterar en viss memcached key.

Om jag förstått det rätt så kan man använda något som kallas UDF, läs mer om det här:
http://dev.mysql.com/doc/refman/6.0/en/ha-memcached-interface...

Jag förstår inte riktigt hur jag ska göra för att göra en trigger som gör detta. Någon som kan hjälpa mig?

Min tabell ser ut såhär:

id | username | passhash | avatar | osv..
1 | Pekz0r | w8975ow8pw8beupr98 | www.bild.se/avatar.png | osv...

jag skulle vilja att varje gång någon data uppdateras i tabellsen så ska även memcached uppdateras. Den uppdaterade raden ska då sparas med keyn "user_<användarens id>" och hellst som en array om det är möjligt.

Av pekz0r

Ja, det ska inte vara några problem så länge du inte kommer ha jättemycket trafik till sidan.
Så länge du inte har för många och för komplicerade MySQL querys(stora joins och likande) så ka det nog inte vara någora större problem.

Ett alternativ kanske kan vara att använda ett webhotell eller en VPS tills du har fixat bättre hosting.