Archiwa kategorii: uczelnia

Java Szyfrowanie DES/ECB/NoPadding

package list1;
 
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
 
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
 
public class CW1 {
	public static byte[] getKey(int bytes) throws NoSuchAlgorithmException{
		KeyGenerator kGen = KeyGenerator.getInstance("DES");
		byte[] key = new byte[bytes];
		int i = 0;
		while(i < bytes){
			kGen.init(56);		
			SecretKey sKey = kGen.generateKey();
			byte[] rawKey = sKey.getEncoded();
			for(int j = 0; (j < rawKey.length)&(j+i < key.length) ; j++){
				key[j+i] = rawKey[j];
			}
			i = i + 7;
		}
		return key;
	}
 
	public static void main(String[] args) throws NoSuchAlgorithmException,
			NoSuchPaddingException, InvalidKeyException,
			IllegalBlockSizeException, BadPaddingException {
		/*
		 * d??ugo??? wiadomo??? musi by? podzielna przez 8
		 * ??eby mo??na by??o u??y? NoPadding
		 */
		byte[] input = "WiadomoscDoZakodowania!!".getBytes();
		byte[] encrypted = null;
		byte[] decrypted = null;
 
		KeyGenerator kGen = KeyGenerator.getInstance("DES");
		SecretKey sKey = kGen.generateKey();
		byte[] keyBytes = sKey.getEncoded();
 
		Cipher cipher = Cipher.getInstance("DES/ECB/NoPadding");
 
		cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(keyBytes, "DES"));
		encrypted = cipher.doFinal(input);
 
		cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(keyBytes, "DES"));
		decrypted = cipher.doFinal(encrypted);
 
		print(input);
		print(encrypted);
		print(decrypted);
 
		System.out.println(Arrays.equals(input, decrypted));
	}
 
	public static void print(byte[] b) {
		System.out.println(new String(b));
		System.out.println("Length: " + b.length * 8);
		System.out.println("---------------");
	}
}

Java szyfrowanie AES/ECB/PKCS5Padding

package list1;
 
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
 
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
 
public class CW2 {
 
	public static void main(String[] args) throws NoSuchAlgorithmException,
			NoSuchPaddingException, InvalidKeyException,
			IllegalBlockSizeException, BadPaddingException {
		byte[] input = "Wiadomosc do zakodowania!".getBytes();
 
		KeyGenerator kGen = KeyGenerator.getInstance("AES");
		kGen.init(128);
 
		SecretKey sKey = kGen.generateKey();
 
		byte[] rawKey = sKey.getEncoded();
 
		SecretKeySpec sKeySpec = new SecretKeySpec(rawKey, "AES");
 
		// algorytm AES, tryb ECB, dope??nianie w PCKS#5
		Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
 
		cipher.init(Cipher.ENCRYPT_MODE, sKeySpec);
 
		byte[] encrypted = cipher.doFinal(input);
 
		cipher.init(Cipher.DECRYPT_MODE, sKeySpec);
 
		byte[] decrypted = cipher.doFinal(encrypted);
 
		print(input);
		print(encrypted);
		print(decrypted);
 
//		System.out.println(MessageDigest.isEqual(input, decrypted));
		System.out.println(Arrays.equals(input, decrypted));
	}
 
	public static void print(byte[] b){
		System.out.println(new String(b));
		System.out.println("Length: " + b.length * 8);
		System.out.println("---------------");
	}
}

Java Szyfrowanie DES/ECB/SKCS5Padding

package main;
 
import java.security.NoSuchAlgorithmException;
 
import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.SecretKeySpec;
 
public class Main {
	public static void main(String args[])
	{
 
		try {
 
		byte[] teskJawny = "Teskt jawny".getBytes();
 
		byte[] klucz =     "klucz".getBytes();
 
		System.out.println(XORCoderToString(XORcoder(teskJawny, klucz), klucz));
 
 
 
 
		byte[] keyBytes = null;
		SecretKeySpec key = new SecretKeySpec(keyBytes,"DES");
 
 
			Cipher szyfr = Cipher.getInstance("DES/ECB/SKCS5Padding");
 
 
 
 
		} catch (NoSuchAlgorithmException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (NoSuchPaddingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
 
 
	}
 
	/**
	 * Metoda wykonuje operacje XOR na podanych tablicach i zwraca wynik w nowej tablicy 
	 * @param msg tablica wiadomosci
	 * @param key tablica klucza
	 * @return tablica po operacji XOR
	 */
	public static byte[] XORcoder(byte[] msg, byte[] key) {
 
	byte[] ret = new byte[msg.length];
 
 
		for(int i=0; i<msg.length; i++)
			ret[i] = (byte) (msg[i]^key[i%key.length]);
 
		return ret;
 
	}
 
	/**
	 * Metoda wykonuje operacje XOR i zwraca wynik w postaci tekstu
	 * @param msg testk do operacji XOR
	 * @param key klucza do operacji XOR
	 * @return teskt otrzymany po operacji XOR
	 */
	public static String XORCoderToString(byte[] msg, byte[] key)
	{
		StringBuilder sb= new StringBuilder();
		byte[] tmp =  XORcoder(msg, key);
		for (byte b : tmp) {
			sb.append((char)b);
		}
 
		return sb.toString();
	}
}

Zmiany, plany, status

Przepraszam za tak? przerw? w postach drodzy czytelnicy. Du??o si? dzia??o, wiele si? zmieni??o w moim ??yciu.

Pierwsz? rzecz? jest to, ??e w ko??cu odnalaz??em szcz???cie u boku wspania??ej kobiety, kt??ra jak to m??wi?? Ten Typ Mes:

„…dodaje pierwiastek kobieco??ci do rozm??w, nie tylko do ciastek…”

Budzenie si? rano z my??l? o kim??, kt??ry potrafi tak na??adowa? mnie pozytywn? energi? sprawia, ??e staje si? lepszym cz??owiekiem.

Kolejn? zmian? w moim ??yciu jest zako??czenie etapu freelancera. W poniedzia??ek rozpoczynam prac?, na etacie. Niestety nie mog? zdradzi? gdzie, poniewa?? obowi?zuje mnie klauzula poufno??ci. Teraz ko??cz? wszystkie projkety, kt??rych si? podj???em w ostatnim miesi?cu, bo obowi?zuje mnie klauzula o zakazie konkurencji.

Przejd??my zatem do plan??w. D??ugie lata temat pracy magisterskiej wydawa?? mi si? spraw? tak abstrakcyjn?, ??e nigdy nie bra??em tego pod uwag?. Staneli??my przed problemem wyboru tematu (Ja i Maciek, z kt??rym to b?dziemy pisali prac?). Po burzy m??zg??w doszli??my do nast?puj?cych wniosk??w:

Technologie:

  • PHP – phpAMF  remoting funkcji z php
  • FlashVideo – odtwarzanie vido
  • FLEX – Podstawa aplikacji GUI + Upload Plik??w
  • MySQL – przechowywanie test??w jak i ich wynik??w

Opis aplikacji:

  1. Tworzenie Testu
    1. Upload pliku z wyk??adem (vido)
    2. Konwersja server-side avi, mpg, wmv do flv
    3. Ustawianie czasu wyzwalaczy, kt??re b?d? uruchamia??y pytania podczas ogl?dania materia??u
    4. Dodawanie pyta??, ustawianie poprawnych odpowiedzi (test jednokrotnego/wielokrotnego wyboru)
    5. Testowy Test, zapisanie drzewa XML do bazy danych
  2. Przeprowadzanie Testu
    1. Materia?? Video jest odtwarzany
    2. Odtwarzacz dochodzi do wyzwalacza gdzie znajduje si? pytanie
      1. Kontrolki Playera s? blokowane
      2. Mo??na jedynie odpowiedzie? na pytanie
      3. Odpowied?? na pytanie jest zapisywane do bazy danych
      4. Odblokowanie kontrolek playera i wznowienie playbacku
    3. Po zako??czeniu odtwarzania filmu wy??wietla si? podsumowanie z wynikiem testu, oraz propozycjami fragment??w, kt??re wypada??o by powt??rzy?
  3. Statystyki grupy student??w
    1. Informacje dla wyk??adowcy o najs??abiej opanowanym materiale przez grup? itp.

Po dalszych ustaleniach z promotorem, rozszerzyli??my zakres funkcjonalno??ci o plugin do systemu e-learningowego OpenSurce o nazwie OLAT, kt??ry jest rozwijany na uniwersytecie w Zurychu.

Co do statusu, to co rano budz? si? z kacem od YouTube Data API, oraz os-commerce bo musz? freelance sko??czy?, nim podpisz? umow?.

Pozdrawiam,

mGz

Konkurs na logo mojego wydzia??u

Zorganizowano konkurs na logo mojego wydzia??u. ( http://samorzad.wmid.amu.edu.pl/samorzad/html/index1.php)

Jak wiadomo teraz jestem weso??ym bezrobotnym zatem i cierpie na nadmiar wolnego czasu wi?c postanowi??em przygotowa? swoj? prac? konkursow?. Przy??wieca??y mi dwa za??o??enia. Po pierwsze ma by? ekstremalnie proste. Po drugie mia??o przypomina? wz??r matematyczny.

Oto moja praca konkursowa :)

logowmi

After the session

Wszystko zadne, nawet najwi?kszy kozak w pierwszym terminie. W mi?dzyczasie poszukuje pracy o dziwo nawet czynnie, bo ju?? m??j fejm na goldenline si? chyba wyczerpa??.

W mi?dzy czasie by m??j talent programistyczny nie zardzewia?? do reszty zaj???em si? ambitnym przedsi?wzi?ciem, polegaj?cym na stworzeniu Thema do wordpressa dla mojego znajomego co zajmuje si? renowacj? starych motor??w. O dziwo stworzy??em r??wnie?? w??asnor?cznie na tablecie Wacom Bamboo wyczesany layout i w??a??nie jestem w trakcie jego ci?cia. Ja rozumiem, ??e poj?cie wyczesany jest mocno przegi?te. R??wnie?? typografia pozostawia wiele do ??yczenia, ale to ju?? s? pierdo??y, kt??rymi mo??na zaj?? si? podczas pisania CSS’??w.

Layout Classic Motor

Layout Classic Motor

Jak to zwykle bywa po dobrze wykonanym obowi?zku czas odpocz?? wi?c dnia 7.03 uderzam tutaj:

Wy??wietl wi?ksz? map?

Tymczasem zostawiam wam co?? do przemy??le??, a’propos waszych wym??wek w pracy.

B?dzie mnie jeszcze mo??na zobaczy? na najbli??szym Barcampie oraz marcowym spotkaniu Pozna?? Adobe User Group

Pozdrawiam wszystkich Allegrowicz??w,

mGz

session

Witam,

Ostatnio ma??o pisz? bo Szara Egzystencja Sta??a si? Jeban? Apokalips?. Tak dla tych co rebus by?? za trudny trwa sesja w najlepsze.  50% egzamin??w uda??o ju?? przebrn?? nawet z pozytywnym efektem teraz jeszcze tylko wyniki wczorajszego egzaminu z Modelowania System??w Informatycznych i W przysz??? sobot? ostatni egzamin. Koniec sesji wi???e si? r??wnie?? z cz?stym piciem, wi?c pewnie znowu b?dzie przerwa na kaca w postach.

Poz a tym wszystkim jestem od tygodnia weso??ym bezrobotnym. Ciesz? si? urlopem oraz czasem, kt??ry mam i mog? po po??wi?ci? na nauk?, ??eby potem znowu nie gania? jakiego?? egzaminu do maja w sesji zimowej :).

Pozdrawiam,

mGz

Projekt dyplomowy

Generalnie uda??o nam si? sko??czy? na czas dokumentacje. ??pi?c w ci?gu weekendu ???cznie mo??e 4 godziny. Tu?? przed prezentacj? uda??o nam si? nawet oprawi? dokumentacje.

Potem tylko 30 min  stresu i wskoczy??o 5 do indexu. Jeszcze tylko egzamin licencjacki i wakacje :)

Pozdro dla:

Karoliny za super tosty, Sunday’a, Mareckiego, Tempiny.

Po sesji…

Uda??o si? zda? bez b??lu ca??? sesj?. Ostania na studiach licencjackich. Ju?? tylko pozosta??o mi obroni? mi projekt dyplomowy oraz zda? egzamin dyplomowy z cyklu 60 pyta?? True or False.  Ci???ki tydzie?? si? znowu zapowiada naukowo-zawodowy. W pi?tek mam deadline fazy projektu e-learningowego a w sobote/niedziel? musz? odda? projekt dyplomowy. Odstawiam spanie.

Pozdro,

mGz

Ps.

Nie my??lcie, ??e si? obijam i na blogu nie pisze. Jestem ju?? na finiszu z postem o ??rodowisku webdevelopera. Premiera Soon :) Uzupe??niam linki do stron, i musze porobi? kilka Screenshot??w.