Τα πάντα για την java

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 11 Ιαν 2012, 22:28

giannosfor έγραψε:
Μας κοροϊδεύεις εδώ παλεύουμε να μάθουμε τα βασικά.
Άσε που δεν έχω ιδέα.

Άλλα φαίνεται ενδιαφέρων.
Χρειαζόταν να έχεις καλή γνώση μαθηματικών π.χ. Άλγεβρα?


Οχι σοβαρα μιλάω :D θα αποκτήσεις και ιδεα και απο ολα αρκει να χεις ορεξη
και λιγο ελευθερο χρονο. Θα ειναι καλη εικονα να εχεις να δειχνεις οτι ξερεις εκανα αυτο
το προτζεκτ με την κρυπτογραφηση... μπορει να σε ζητησουν σε μια επιχειρηση... να τους πεις
οτι δεν εχεις προυπηρεσια σε εταιρεια αλλα ασχολεισαι μονος σου... και να δωσεις και το αντιστοιχο αποθετηριο.
Σε συμφερει να ασχοληθεις δηλαδη τωρα με σκοπο την επαγγελματικη μελλοντικη προοπτικη .

Ο αλγοριθμος για την κρυπτογραφηση ειναι αυτος που έδωσα.... ριξτου μια ματια και αν δεν τον καταλαβεις θα στον εξηγησω εγω
με ενα παραδειγμα ειναι πολυ απλος.
Μεσα απο την main() θα δινουμε την εισοδο... το αρχειο που θελουμε να κρυπτογραφηθει για παραδειγμα... ή και stdin αν και προτιμω αρχειο!
θα δημιουργουμε ενα αντικειμενο κλάσης Scanner . Και μετα θα φτιαξουμε μια κλαση η οποια θα υλοποιει το κρυπτοκειμενο... θα υλοποιει ουσιαστικα τον αλγοριθμο... θα την φτιαξουμε ξεχωριστα αυτην.

ΑΝ θελουν μπορουν να βοηθησουν και αλλοι και να συμμετάσχουν στο project αν και δεν νομιζω να ειναι και πολυ μεγαλο.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 11 Ιαν 2012, 22:38

Εικόνα

Ο πίνακας με το πεδίο τιμών του κρυπταλγορίθμου απο αυτον τον πίνακα γίνεται η αντιστοίχηση
για ενα στοιχειο του απλού κειμένου σε στοιχείο του κρυπτοκειμένου.

Ο συγκεκριμένος κρυπταλγοριθμος δεν χρειάζεται καμια γνώση αλγεβρικής φύσης.

Πιο μετα.... αμα καταφέρουμε και φτιαξουμε το προγραμμα!!! Ισως μελετήσουμε και την κρυπτανάλυση του :D
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό pc_magas » 11 Ιαν 2012, 22:50

Είναι Εύκολο το plaintext και το keyword είναι στην ουσία οι συντεταγμένες κάθε γράμματος.
My blog|Κυπριακή Κοινότητα Ελευθέρου Λογισμικού Λογισμικού ανοικτού Κώδικα
Γνώσεις Linux:Ποτέ αρκετές|Προγραμματισμός: Php, javascript, nodejs, python, bash |Aγγλικά:Καλά
Οι υπολογιστές μου:
Spoiler: show
Ubuntu 16.04 64 bit σεIntel(R) Pentium(R) CPU G4400 @ 3.30GHz, 16Gib Ram, 500Gib Hard Disk, και κάρτα γραφικών Nvidia Geforce GT610
Lubuntu 14.04 σε Dell Inspiron mini 10(1010) intel Atom Z500 1Gb ram και gma500 (εδώθη σε άλλον)
Kubuntu 16.04 Lenovo G70 Intel i5 Nvidia Grapgics Card, Intel Graphics card (έχει 2) με Nouveau, 16Gb RAM, 126GB SSD Σκληρό Δίσκο
Άβαταρ μέλους
pc_magas
powerTUX
powerTUX
 
Δημοσιεύσεις: 2599
Εγγραφή: 12 Απρ 2009, 18:55
Τοποθεσία: Αχαρναί Αττικής
Launchpad: pc_magas
IRC: pc_magas
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό giannosfor » 11 Ιαν 2012, 23:03

Έριξα μια ματιά και νομίζω ότι κατάλαβα πώς δουλεύει.
Το θέμα είναι ότι υπάρχουν έτοιμες οι μέθοδοι για κρυπτογράφηση.
Παράδειγμα στη PHP αν χρησιμοποιήσεις την md5( ) συνάρτηση σου κρυπτογραφεί.
Έτσι και στη Java.Τώρα για πιό προχωρημένα πράγματα δε ξέρω.

Και'γω σοβαρά μιλάω.Μάθε πρώτα τα βασικά.

Αν δείξεις σε κάποιο κώδικα με κρυπτογράφηση και δε ξέρεις τι είναι πολυμορφισμός και άλλα βασικά
θα σε πάρει με τις πέτρες.

Μπορεί όμως επειδή μου κίνησες το ενδιαφέρων να δω τι γίνεται.
Θα κοιτάξω και κάτι σημειώσεις που κατέβασα και ίσως ετοιμάσω κάτι
απλό.

Γιατί δε δοκιμάζεις να τελειώσεις αυτό που λέγαμε με τις ερωτήσεις και τις απαντήσεις?
Τελευταία επεξεργασία από giannosfor και 11 Ιαν 2012, 23:12, έχει επεξεργασθεί 3 φορά/ες συνολικά
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 11 Ιαν 2012, 23:04

pc_magas έγραψε:Είναι Εύκολο το plaintext και το keyword είναι στην ουσία οι συντεταγμένες κάθε γράμματος.


Ακριβως :D

Για παράδειγμα αν θες να κρυπτογραφήσεις την συμβολοσειρά "Hello"

με κλειδί το one

τοτε παίρνεις τα εξής ζευγαράκια :

(H, o )
( e,n )
( l , e )
( l , o )
( o , n )

Απο τον παραπάνω πίνακα το ζεύγος (H,o) θα δώσει V
το (e,o) θα δώσει Q το ( l , e) θα δώσει P και τα αλλα 2 θα δώσουν Z και B αντίστοιχα

επομένως για κρυπτοκείμενο θα έχουμε το string

Κώδικας: Επιλογή όλων
VQPZB
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 11 Ιαν 2012, 23:28

giannosfor έγραψε:Έριξα μια ματιά και νομίζω ότι κατάλαβα πώς δουλεύει.
Το θέμα είναι ότι υπάρχουν έτοιμες οι μέθοδοι για κρυπτογράφηση.
Παράδειγμα στη PHP αν χρησιμοποιήσεις την md5( ) συνάρτηση σου κρυπτογραφεί.
Έτσι και στη Java.Τώρα για πιό προχωρημένα πράγματα δε ξέρω.

Και'γω σοβαρά μιλάω.Μάθε πρώτα τα βασικά.

Αν δείξεις σε κάποιο κώδικα με κρυπτογράφηση και δε ξέρεις τι είναι πολυμορφισμός και άλλα βασικά
θα σε πάρει με τις πέτρες.

Μπορεί όμως επειδή μου κίνησες το ενδιαφέρων να δω τι γίνεται.
Θα κοιτάξω και κάτι σημειώσεις που κατέβασα και ίσως ετοιμάσω κάτι
απλό.

Γιατί δε δοκιμάζεις να τελειώσεις αυτό που λέγαμε με τις ερωτήσεις και τις απαντήσεις?


Αύριο ή μεθαύριο εγω θα το ξεκινήσω παντως. Αν νομίζεις πως αξίζει τον κοπο συμμετέχεις!!!
Και οποιος άλλος θέλει το συζητάμε!

Ιδού ο αλγόριθμος... ιδου και το πήδημα. ;)

EDIT: Ξεκινάμε με την προοπτικη οτι θα καλύπτουμε κάθε κενό που θα απαιτείται... και εν παση περιπτωση
αν δουμε πως δεν τα καταφερνουμε θα σταματήσουμε. Δεν τρεχει κατι.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό pc_magas » 12 Ιαν 2012, 21:11

Ζήτησε κανείς έναν αλγόριθμο κρυπτογράφησης?
Κώδικας: Επιλογή όλων
package cryptography;

public class Encrypt
{
private char[][] alphabet={
{'A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'},
{'B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A'},
{'C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B'},
{'E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C'},
{'F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E'},
{'G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F'},
{'H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G'},
{'I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H'},
{'J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I'},
{'K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J'},
{'L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K'},
{'M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L'},
{'N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M'},
{'O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N'},
{'P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O'},
{'Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P'},
{'R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q'},
{'S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R'},
{'T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S'},
{'U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T'},
{'V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U'},
{'W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V'},
{'X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W'},
{'Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X'},
{'Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y'},
};
private String key;

public Encrypt(String key)
{
this.key=key.toUpperCase();//Kanei ola ta grammata kefalaia
}

public String encrypt(String plaintext) //throws ArrayIndexOutOfBoundsException
{
/*Prosessing the plaintext*/
plaintext=proccessPlaintext(plaintext);

int keylen=key.length();//getting the length of the key

int plainlen=plaintext.length();//getting the length of the plaintext

String tempkey="";//temporary key

if(plainlen>=keylen)
{
int repeat=plainlen/keylen;//searching how many time to repeat the key

/*
At most times because numbers cannod divide without having a modulo
the key we repeat the kay as times as we get from (plaintext/key)+1
*/
for(int i=0;i<repeat+1;i++)
{
tempkey+=key;

}
tempkey=tempkey.substring(0,plainlen);
}
else
{
throw new ArrayIndexOutOfBoundsException("Το κείμενο πρέπει να είναι μεγαλύτερο από το κλειδί");
}

char c[]=new char[plainlen];

for(int j=0;j<plainlen;j++)
{

/*I am scanning the plaintext and the key char by char and convert it into integer
Then I try to transform the integer as a index of the matrix alphabet so I want the
latin capital letters of Unicode (space [65-122]) into the space of [0-24] (including 0 and 24)*/
c[j]=alphabet[Math.abs(plaintext.codePointAt(j)-66)][Math.abs(tempkey.codePointAt(j)-66)];
}

return new String(c,0,c.length);

}

public String proccessPlaintext(String plaintext)
{
String [] pl=plaintext.split(" ");
String nplaintext="";
for(int i=0;i<pl.length;i++)
{
nplaintext+=pl[i];
}
return nplaintext.toUpperCase();
}
}

Μόνο την αποκρυπτογράφιση δεν ξέρω να κάνω.....
ΠΡΙΝ το compile βάλτε το Encrypt.java σε έναν φάκελο cryptograohy.
My blog|Κυπριακή Κοινότητα Ελευθέρου Λογισμικού Λογισμικού ανοικτού Κώδικα
Γνώσεις Linux:Ποτέ αρκετές|Προγραμματισμός: Php, javascript, nodejs, python, bash |Aγγλικά:Καλά
Οι υπολογιστές μου:
Spoiler: show
Ubuntu 16.04 64 bit σεIntel(R) Pentium(R) CPU G4400 @ 3.30GHz, 16Gib Ram, 500Gib Hard Disk, και κάρτα γραφικών Nvidia Geforce GT610
Lubuntu 14.04 σε Dell Inspiron mini 10(1010) intel Atom Z500 1Gb ram και gma500 (εδώθη σε άλλον)
Kubuntu 16.04 Lenovo G70 Intel i5 Nvidia Grapgics Card, Intel Graphics card (έχει 2) με Nouveau, 16Gb RAM, 126GB SSD Σκληρό Δίσκο
Άβαταρ μέλους
pc_magas
powerTUX
powerTUX
 
Δημοσιεύσεις: 2599
Εγγραφή: 12 Απρ 2009, 18:55
Τοποθεσία: Αχαρναί Αττικής
Launchpad: pc_magas
IRC: pc_magas
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 12 Ιαν 2012, 22:27

pc_magas έγραψε:Ζήτησε κανείς έναν αλγόριθμο κρυπτογράφησης?
Κώδικας: Επιλογή όλων
package cryptography;

public class Encrypt
{
private char[][] alphabet={
{'A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'},
{'B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A'},
{'C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B'},
{'E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C'},
{'F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E'},
{'G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F'},
{'H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G'},
{'I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H'},
{'J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I'},
{'K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J'},
{'L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K'},
{'M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L'},
{'N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M'},
{'O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N'},
{'P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O'},
{'Q','R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P'},
{'R','S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q'},
{'S','T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R'},
{'T','U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S'},
{'U','V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T'},
{'V','W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U'},
{'W','X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V'},
{'X','Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W'},
{'Y','Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X'},
{'Z','A','B','C','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y'},
};
private String key;

public Encrypt(String key)
{
this.key=key.toUpperCase();//Kanei ola ta grammata kefalaia
}

public String encrypt(String plaintext) //throws ArrayIndexOutOfBoundsException
{
/*Prosessing the plaintext*/
plaintext=proccessPlaintext(plaintext);

int keylen=key.length();//getting the length of the key

int plainlen=plaintext.length();//getting the length of the plaintext

String tempkey="";//temporary key

if(plainlen>=keylen)
{
int repeat=plainlen/keylen;//searching how many time to repeat the key

/*
At most times because numbers cannod divide without having a modulo
the key we repeat the kay as times as we get from (plaintext/key)+1
*/
for(int i=0;i<repeat+1;i++)
{
tempkey+=key;

}
tempkey=tempkey.substring(0,plainlen);
}
else
{
throw new ArrayIndexOutOfBoundsException("Το κείμενο πρέπει να είναι μεγαλύτερο από το κλειδί");
}

char c[]=new char[plainlen];

for(int j=0;j<plainlen;j++)
{

/*I am scanning the plaintext and the key char by char and convert it into integer
Then I try to transform the integer as a index of the matrix alphabet so I want the
latin capital letters of Unicode (space [65-122]) into the space of [0-24] (including 0 and 24)*/
c[j]=alphabet[Math.abs(plaintext.codePointAt(j)-66)][Math.abs(tempkey.codePointAt(j)-66)];
}

return new String(c,0,c.length);

}

public String proccessPlaintext(String plaintext)
{
String [] pl=plaintext.split(" ");
String nplaintext="";
for(int i=0;i<pl.length;i++)
{
nplaintext+=pl[i];
}
return nplaintext.toUpperCase();
}
}

Μόνο την αποκρυπτογράφιση δεν ξέρω να κάνω.....
ΠΡΙΝ το compile βάλτε το Encrypt.java σε έναν φάκελο cryptograohy.


Bάλε και spoiler tags οπωςσδηποτε να μην μπούμε στον πειρασμό να τον δουμε :D
Αυτος ειναι ο Vigenere ? Θα δοκιμασω να φτιαξω και εγω μια δικια μου υλοποιηση
και θα τα συζητήσουμε.... καλη προσπαθεια φαινεται... σου τρέχει? παράγει σωστα αποτελέσματα
συμφωνα με την θεωρία?
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 13 Ιαν 2012, 06:51

Καλημέρα!

Έχω μερικές σημαντικές ερωτήσεις για τα αρχεία στην Java .

Kαταρχην pc_magas σιγουρα θα χεις χρησιμοποιήσει I/O handling στον κωδικα που έδωσες σημερα ε?
σορρυ αλλα δεν τον κοιταω οπως ειπα και εξαρχης :lol: :lol: :lol: αλλιως το ειχα στο μυαλο μου το σκηνικο... αλλα εσυ εισαι τάχιστος!!!

Λοιπον συμφωνα με αυτο -> http://www.roseindia.net/java/beginners ... line.shtml

ηθελα να δω καποια πραγματα στην Java για βασικο Ι/Ο αρχείων . Το θεμα ειναι οτι δεν καταλαβαινω ποια ειναι η σκοπιμοτητα
της δημιουργιας αντικειμένου τύπου DataInputStream έψαξα και βρηκα και εδω -> http://www.coderanch.com/t/276319/Strea ... tputStream

το 2ο comment το εξηγει αλλα η DataInputStream ας πουμε ειναι η ροη απο τον δισκο? ενω το αλλο απο το buffer???

Κώδικας: Επιλογή όλων
1. FileInputStream fstream = new FileInputStream("textfile.txt");
// Get the object of DataInputStream
2. DataInputStream in = new DataInputStream(fstream);
3. BufferedReader br = new BufferedReader(new InputStreamReader(in));


Υποτίθεται δηλαδη οτι με την 1. δημιουργουμε το αντικείμενο του αρχειου στην Java με την 2. Το αντικειμενο απευθειας ροης απο τον δισκο ενω με την 3. το αντικειμενο ροης του buffer??? αν εμενε καποιος μονο στο 2 και καταργουσε το 3 η ταχυτητα θα ηταν συγκριτικα πολυ μικροτερη????
Δεν θυμαμαι στην C να ειχε τοσο "μανουρα" παντως...
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό alkismavridis » 13 Ιαν 2012, 12:31

να προσθέσω κι εγώ κάτι.. Γιατί δε χρησιμοποιούμε απλώς το αντικείμενο Scanner?
Έχει πολύ απλή δομή και μεθόδους για να διαβάζει τα πάντα, καθώς και μεθόδους που ελέγχουν αν το επόμενο token μπορεί να αναπαρασθεί ως "κάτι"!!
Σε τι πάσχει καιέχουμε ανάγκη από ένα σωρό άλλα αντικείμενα;;
Γνώσεις ⇛ Linux: Μέτριο┃ Προγραμματισμός: Java, Assembly, Fortran, μαθαίνω C/X11┃ Αγγλικά: Μέτρια
Λειτουργικό σε Η/Υ ϰ μοντέλο: Ubuntu 14.04 64-bit ┃ Τρόπος εγκατάστασης: Live USB
Προδιαγραφές ⇛ Desktop: Intel i5 2320 3.00GHz.┃ MotherBoard: Asus p8h61 -m pro
Προδιαγραφές ⇛ RAM: 4GB ┃ Τροφοδοτικό Corsair CX430

GPU: Intel 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0102] {i915}
5 eth0: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 06) ⋮ wlan0: 0b05:1723 ASUS WL-167G v2 802.11g Adapter [Ralink RT2571W]
Οθόνη Schaub Lorenz (Tv)
alkismavridis
punkTUX
punkTUX
 
Δημοσιεύσεις: 273
Εγγραφή: 18 Μαρ 2009, 18:46
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι