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.