Hey guys, first off i'm new here and i'm also new at java programming, i know the basics so far but to me it is just super complicated compared to the language i used before (Visual Basic) but i'm actually trying to learn Java since everybody told me it is way better than VB so i thought i'd give it a try, i've bought the book "Java programming for dummies" and to be perfectly honest it's not what i expected, i mean it does teach you the basic stuff of Java programming such as operators, statements and etc but when trying to "read" a source code and try to understand it, i tend to get headaches more than anything else for example, i am trying to make an encryption/decryption program as my first Java program so i've downloaded a few source codes demonstrating encryption algorythms and i'm trying to get what exactly the code do and how do i use it
Here's the actual code:
P.S Sorry if i didn't post this in the right section
import java.io.*; public final class qb extends FilterOutputStream implements DataOutput { public qb(OutputStream outputstream) { super(outputstream); b = 0; c = new byte[8]; } public final synchronized void write(int i) throws IOException { if(a != null && a.length > 0) i ^= a[q()]; super.out.write(i); } public final void q(byte abyte0[]) { a = abyte0; b = 0; } private int q() { b = (b + 1) % a.length; return b; } public final void flush() throws IOException { super.out.flush(); } public final void writeDouble(double d) throws IOException { writeLong(Double.doubleToLongBits(d)); } public final void writeFloat(float f) throws IOException { writeInt(Float.floatToIntBits(f)); } public final void writeByte(int i) throws IOException { write(i); } public final void writeChar(int i) throws IOException { write(i >>> 8 & 0xff); write(i >>> 0 & 0xff); } public final void writeInt(int i) throws IOException { write(i >>> 24 & 0xff); write(i >>> 16 & 0xff); write(i >>> 8 & 0xff); write(i >>> 0 & 0xff); } public final void writeShort(int i) throws IOException { write(i >>> 8 & 0xff); write(i >>> 0 & 0xff); } public final void writeLong(long l) throws IOException { c[0] = (byte)(int)(l >>> 56); c[1] = (byte)(int)(l >>> 48); c[2] = (byte)(int)(l >>> 40); c[3] = (byte)(int)(l >>> 32); c[4] = (byte)(int)(l >>> 24); c[5] = (byte)(int)(l >>> 16); c[6] = (byte)(int)(l >>> 8); c[7] = (byte)(int)(l >>> 0); write(c, 0, 8); } public final void writeBoolean(boolean flag) throws IOException { write(flag ? 1 : 0); } public final synchronized void write(byte abyte0[], int i, int j) throws IOException { if((i | j | abyte0.length - (j + i) | i + j) < 0) throw new IndexOutOfBoundsException(); for(int k = 0; k < j; k++) write(abyte0[i + k]); } public final void write(byte abyte0[]) throws IOException { write(abyte0, 0, abyte0.length); } public final void writeBytes(String s) throws IOException { int i = s.length(); for(int j = 0; j < i; j++) write((byte)s.charAt(j)); } public final void writeChars(String s) throws IOException { int i = s.length(); for(int j = 0; j < i; j++) { char c1 = s.charAt(j); write(c1 >>> 8 & 0xff); write(c1 >>> 0 & 0xff); } } public final void writeUTF(String s) throws IOException { q(s, this); } private static int q(String s, DataOutput dataoutput) throws IOException { int i = s.length(); int j = 0; char ac[] = new char[i]; int k = 0; s.getChars(0, i, ac, 0); for(int l = 0; l < i; l++) { char c1; if((c1 = ac[l]) >= '\001' && c1 <= '\177') { j++; continue; } if(c1 > '\u07FF') j += 3; else j += 2; } if(j > 65535) throw new UTFDataFormatException(); k++; byte abyte0[]; (abyte0 = new byte[j + 2])[0] = (byte)(j >>> 8 & 0xff); k++; abyte0[1] = (byte)(j >>> 0 & 0xff); for(int i1 = 0; i1 < i; i1++) { char c2; if((c2 = ac[i1]) >= '\001' && c2 <= '\177') { abyte0[k++] = (byte)c2; continue; } if(c2 > '\u07FF') { abyte0[k++] = (byte)(0xe0 | c2 >> 12 & 0xf); abyte0[k++] = (byte)(0x80 | c2 >> 6 & 0x3f); abyte0[k++] = (byte)(0x80 | c2 >> 0 & 0x3f); } else { abyte0[k++] = (byte)(0xc0 | c2 >> 6 & 0x1f); abyte0[k++] = (byte)(0x80 | c2 >> 0 & 0x3f); } } dataoutput.write(abyte0); return j + 2; } private byte a[]; private int b; private byte c[]; }
Apparently, this is supposed to encrypt data, but the problem is i don't know how to call the main function of that code
If any of you guys, understand what this code do, could you please explain to me how i can use it
Your help is very appreciated, thank you
- John